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

Wil*_*nes 25 ruby-on-rails constants dry view helper

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

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

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

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

我当然可以把它放在一个模型中,但它与任何模型都没有任何关系.

EmF*_*mFi 39

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

application_helper.rb

module ApplicationHelper
  MyConstant = "something"
end
Run Code Online (Sandbox Code Playgroud)

在任何观点:

<%= ApplicationHelper::MyConstant %>
Run Code Online (Sandbox Code Playgroud)

  • 您还可以在帮助程序中编写一个方法来引用它,这样您就不必在视图中重复帮助程序名称. (2认同)