我有一个仅在视图中使用的常量,但它在不同的地方以不同的方式使用。它是一个选项名称数组,用于选择框,但我也在其他视图中使用它来查看是否在此数组中找到字符串,并做出相应的响应。
处理此问题以保持DRY的最佳方法是什么?
我最初在帮助器中创建了一个常量,但在视图中似乎无法访问。
我已经切换到在帮助器中创建一个方法,除了返回常量之外什么都不做。然而,这似乎违背了Rails的精神,因为现在基本上我使用的是较低的常量。
我当然可以将它贴在模型中,但它与任何模型无关。
答案 0 :(得分:39)
您可以在助手中定义常量,但您需要在视图中通过其完全限定名称来引用它们。
application_helper.rb
module ApplicationHelper
MyConstant = "something"
end
在任何视图中:
<%= ApplicationHelper::MyConstant %>
答案 1 :(得分:4)
将其放入config/initializers/constants.rb
,它随处可见。