28

我有一个仅在视图中使用的常量,但它在不同的地方以不同的方式使用。它是一个选项名称数组,用于选择框,但我也在其他视图中使用它来查看是否在此数组中找到字符串,并做出相应的响应。

处理这个以保持干燥的最佳方法是什么?

我最初在帮助程序中创建了一个常量,但在视图中似乎无法访问。

我已经切换到在帮助程序中创建一个方法,除了返回常量之外什么都不做。然而,这似乎真的违背了 Rails 的精神,因为现在基本上我使用的是小写常量。

我当然可以把它贴在模型中,但它与任何模型都无关。

4

2 回答 2

42

您可以在帮助程序中定义常量,但您需要在视图中通过它们的完全限定名称来引用它们。

application_helper.rb

module ApplicationHelper
  MyConstant = "something"
end

在任何视图中:

<%= ApplicationHelper::MyConstant %>
于 2010-02-16T00:50:12.187 回答
4

把它放进去config/initializers/constants.rb,它无处不在。

于 2010-02-15T23:11:45.580 回答