我刚开始使用我的第一个Ruby on Rails Webapp。我有很多不同的模型,视图,控制器等等。
我想找到一个粘贴真正的全局常量的好地方,该定义适用于我的整个应用程序。特别是,它们既适用于我模型的逻辑,也适用于我观点中的决策。我找不到任何DRY放置这些定义的位置,这些定义对于我的所有模型和我的所有视图均可用。
举一个具体的例子,我想要一个常量COLOURS = ['white', 'blue', 'black', 'red', 'green']
。在模型和视图中,都可以在各处使用它。我在哪里可以在一个地方定义它以便访问?
我尝试过的
- 与它们最相关的model.rb文件中的常量类变量,例如
@@COLOURS = [...]
。但是我找不到一种明智的定义方式,这样我就可以在我的观点中写,Card.COLOURS
而不是像这样的笨拙了Card.first.COLOURS
。 - 模型上的方法,类似
def colours ['white',...] end
-同样的问题。 - application_helper.rb中的一个方法-到目前为止,这是我正在做的事情,但是只能在视图中访问助手,而不能在模型中访问
- 我想我可能已经在application.rb或environment.rb中尝试了一些东西,但是那些看起来似乎并不正确(它们似乎也不起作用)
难道没有办法定义从模型和视图都可以访问的内容吗?我的意思是,我知道模型和视图应该分开,但是肯定在某些领域中有时会需要引用相同的领域特定知识吗?