是否可以在視圖中引用ruby類變量?rails視圖中的類變量?
6
A
回答
15
更常見的做法是包裹類變量的helper方法:
# in /app/controllers/foo_controller.rb:
class FooController < ApplicationController
@@bar = 'baz'
def my_action
end
helper_method :bar
def bar
@@bar
end
end
# in /app/views/foo/my_action.html.erb:
It might be a class variable, or it might not, but bar is "<%= bar -%>."
3
不幸的是,類(@@variables
)未複製到視圖中。您仍然可以通過讓他們:
controller.instance_eval{@@variable}
或
@controller.instance_eval{@@variable}
或別的東西,少毛。
有了Rails,100人中有99.9人不應該這樣做,或者至少我不能想到一個好理由。
+0
雖然這不是我打算使用的,但它確實回答了我原來的問題 – 2009-10-16 18:11:18
1
羅森的回答是不錯的,因爲它隱藏變量「吧」是什麼樣的,但是如果你有很多這樣的變量,需要定義一堆輔助方法是沒有吸引力的。我用我的控制器中的以下內容:
@bar = @@bar ||= some_expensive_call
這樣一來,「some_expensive_call」只進行一次,並將結果複製到@bar每個實例(這樣的觀點就可以訪問它@bar )。
相關問題
- 1. Rails:視圖中的計數變量
- 2. django訪問視圖中的類變量
- 3. Android - 視圖中的類變量vs方法變量
- 4. Android - 子類視圖,設置類變量
- 5. Rails和類變量
- 6. Postgres視圖中的變量?
- 7. 傳遞變量從視圖中的Ruby控制器on Rails的
- 8. 爲什麼我的視圖中的Rails實例變量爲零?
- 9. 基於Django類的視圖中的類變量與方法
- 10. 類變量類型獲取我的視圖控制器改變
- 11. 有沒有辦法在Rails的視圖中存儲變量?
- 12. 將變量傳遞給Ruby on Rails中的視圖
- 13. Rails 3:在視圖中的Ruby變量在NilClass
- 14. 如何在Ruby on Rails的視圖中訪問全局變量?
- 15. 全局變量 - 從視圖類訪問
- 16. Rails緩存類變量
- 17. Django視圖變量
- 18. Rails在視圖中渲染Javascript文件幷包含Ruby變量
- 19. 在Rails視圖中爲用戶輸入分配變量
- 20. 在rails視圖中將ruby變量傳遞給javascript函數
- 21. Rails 4在視圖或模板中傳遞變量
- 22. rails 3,如何將變量插入到xml視圖中?
- 23. 在Rails視圖中處理缺少局部變量
- 24. 在Rails視圖助手中使用javascript變量
- 25. 如何在rails視圖中訪問javascript變量
- 26. 聲明數組變量以在Ruby On Rails視圖中使用
- 27. Rails - 實例變量nil對象在視圖中
- 28. Laravel undefine變量的視圖
- 29. Ruby on Rails - 帶部分視圖的實例變量的範圍
- 30. 如何監視類變量的變化?
幾乎明顯的解決方案,不知道爲什麼我沒有選擇這個在第一位 – 2009-10-16 18:08:27