未初始化的初始化程序常量

时间:2013-03-25 06:46:54

标签: ruby-on-rails ruby ruby-on-rails-3 gem

我在initializers文件夹下创建了一个settings.rb文件,其中包含应用程序启动后需要初始化的值。但是,在运行rails s时,我得到一个“未初始化的内容设置(NameError)

Settings.rb

Settings.defaults[:single_phase] = 500
Settings.defaults[:three_phase]  = 300

我创建了迁移并伴随它和视图。

问题出在哪里?

2 个答案:

答案 0 :(得分:0)

在你的config / application_settings.rb

development:
  single_phase: 200

并在您的应用中的任何位置使用

APP_SETTINGS['single_phase']

返回200

答案 1 :(得分:0)

在初始化程序运行时,它们无法访问模型(是模型吗?)。

如果它不是模型,您可以执行以下操作:

SETTINGS = {}
SETTINGS[:single_phase] = 500

但是我觉得figaro宝石可能对你想要做的事情有所帮助。

您还可以在application.rb和环境文件中添加任意设置。