【问题标题】:Uninitialized initializer constant未初始化的初始化常量
【发布时间】:2013-03-25 06:46:53
【问题描述】:

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

设置.rb

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

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

问题出在哪里?

【问题讨论】:

  • 更好的是你可以使用 application_settings 文件来执行此操作,就像在 application_settings 文件中一样将你的键值对设置为 key: value 并在你的应用程序中的任何位置使用 APP_SETTINGS['key'] => value
  • 你能详细说明一下吗,这能解决我的问题吗?

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


【解决方案1】:

在您的 config/application_settings.rb 中

development:
  single_phase: 200

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

APP_SETTINGS['single_phase']

返回 200

【讨论】:

    【解决方案2】:

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

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

    SETTINGS = {}
    SETTINGS[:single_phase] = 500
    

    但是我觉得figaro gem 可能对您尝试做的事情有所帮助。

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

    【讨论】:

      猜你喜欢
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多