1

我在从 yml 文件加载自定义配置数据时遇到了一些问题。我查看了一些资源,似乎无法使用它。

当我尝试从 yml 文件加载一些自定义设置时,我得到一个空哈希。

我的 application.rb 包含:

config.myapp = config_for(:myapp)

我的 myapp.yml 包含:

default: &default
  emails:
    support: test@myapp.com
    marketing: marketing@myapp.com
    address: 123 Test lane

production:
  <<: *default

development:
  <<: *default

test:
  <<: *default

当我打电话时:Rails.configuration.myapp

我得到:

{}

有什么想法可能是什么问题?

谢谢

4

1 回答 1

1

它与 Application 对象的生命周期以及您的config.myapp = config_for(:myapp)调用所在的位置有关。

所以我在本地尝试并通过将它放在 config.before_initialize 回调块中解决了这个问题:这是在我的config/application.rb文件中

config.before_initialize do
  config.myapp = config_for(:myapp)
end

然后在 Rails 控制台中Rails.application.config.myapp正确转储从 yml 解析的配置。

于 2017-06-27T00:36:49.840 回答