在Rails中处理视图和仅辅助常量的最佳方法

时间:2010-02-15 23:08:57

标签: ruby-on-rails view constants dry helper

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

处理此问题以保持DRY的最佳方法是什么?

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

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

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

2 个答案:

答案 0 :(得分:39)

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

application_helper.rb

module ApplicationHelper
  MyConstant = "something"
end

在任何视图中:

<%= ApplicationHelper::MyConstant %>

答案 1 :(得分:4)

将其放入config/initializers/constants.rb,它随处可见。