是否可以在视图中引用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