相关疑难解决方法(0)

Ruby on Rails:在哪里定义全局常量?

我刚刚开始使用我的第一个Ruby on Rails webapp.我有一堆不同的模型,视图,控制器等等.

我想找到一个好地方来坚持真正全局常量的定义,这适用于我的整个应用程序.特别是,它们既适用于模型的逻辑,也适用于我的观点中的决策.我找不到任何干燥的地方将这些定义放在我们所有模型和我的所有视图中都可用的地方.

举一个具体的例子,我想要一个常数COLOURS = ['white', 'blue', 'black', 'red', 'green'].在模型和视图中都可以使用它.我在哪里可以在一个地方定义它以便它可以访问?

我尝试过的:

  • model.rb文件中与它们关联最多的常量类变量,例如@@COLOURS = [...].但我无法找到一种明智的方式来定义它,以便我可以写出我的观点,Card.COLOURS而不是像kludgy那样的东西Card.first.COLOURS.
  • 关于模型的方法,类似于def colours ['white',...] end- 同样的问题.
  • application_helper.rb中的一个方法 - 这是我到目前为止所做的,但帮助程序只能在视图中访问,而不能在模型中访问
  • 我想我可能在application.rb或environment.rb中尝试了一些东西,但那些看起来并不正确(而且它们似乎也没有用)

是否无法定义任何可从模型和视图访问的内容?我的意思是,我知道模型和视图应该是分开的,但在某些领域肯定会有时候他们需要引用相同的领域特定知识?

global ruby-on-rails constants

203
推荐指数
8
解决办法
12万
查看次数

标签 统计

constants ×1

global ×1

ruby-on-rails ×1