Rails:在哪里用类定义常量?

时间:2015-03-09 19:24:00

标签: ruby-on-rails

我有一个基于我在lib中定义的类的常量:

ALL_DEMOGRAPHICS = [Demographic::Gender,
                    Demographic::Age]

我尝试将它们放在config / initializers中,但即使我保存了新版本的类/文件,它们也会被缓存而不会更新。

我应该把它放在哪里?

1 个答案:

答案 0 :(得分:2)

  

我尝试将它们放在config / initializers中,但即使我保存了新版本的类/文件,它们也会被缓存而不会更新。

您可以在模块中定义它们。在models目录中创建一个名为global_constants.rb的文件,并在那里添加常量:

应用程序/模型/ global_constants.rb

module GlobalConstants
  ALL_DEMOGRAPHICS = [Demographic::Gender, Demographic::Age]
end

然后你可以像这样使用常量:

GlobalConstants::ALL_DEMOGRAPHICS

如果将模块保留在lib文件夹中,请确保已将lib添加到自动加载:

配置/ application.rb中

config.autoload_paths << Rails.root.join('lib')