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

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

Settings.rb

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

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

问题出在哪儿?

在您的config / application_settings.rb中

 development: single_phase: 200 

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

 APP_SETTINGS['single_phase'] 

返回200

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

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

 SETTINGS = {} SETTINGS[:single_phase] = 500 

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

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