是否可以在視圖中引用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. 在rails視圖中調用變量
- 3. django訪問視圖中的類變量
- 4. Android - 視圖中的類變量vs方法變量
- 5. 在視圖中訪問類變量
- 6. CI主體類變量在視圖中
- 7. Android - 子類視圖,設置類變量
- 8. Rails和類變量
- 9. Postgres視圖中的變量?
- 10. 變量類型的視頻和圖像
- 11. 爲什麼我的視圖中的Rails實例變量爲零?
- 12. 傳遞變量從視圖中的Ruby控制器on Rails的
- 13. 如何從jQuery的傳遞變量到視圖中的Rails 4
- 14. 基於Django類的視圖中的類變量與方法
- 15. 將變量傳遞給Ruby on Rails中的視圖
- 16. 有沒有辦法在Rails的視圖中存儲變量?
- 17. 在視圖中分配的Rails變量,需要建議
- 18. Rails 3:從控制器的視圖中顯示變量
- 19. Rails 3.1中的繼承視圖 - 實例變量
- 20. Rails 3:在視圖中的Ruby變量在NilClass
- 21. 如何在Ruby on Rails的視圖中訪問全局變量?
- 22. Rails中的視圖之間傳遞變量
- 23. Rails 3中的視圖有哪些方法和變量?
- 24. 在rails中的視圖之間傳遞變量
- 25. 類變量類型獲取我的視圖控制器改變
- 26. Angularjs在視圖中變量
- 27. 將變量分配給MVC視圖類?
- 28. 全局變量 - 從視圖類訪問
- 29. Rails緩存類變量
- 30. Django視圖變量
幾乎明顯的解決方案,不知道爲什麼我沒有選擇這個在第一位 – 2009-10-16 18:08:27