配置rails环境文件中可用的变量

Und*_*ion 3 ruby environment config ruby-on-rails initializer

我目前正在使用初始化程序将config.yml文件加载到AppConfig哈希中,该哈希提供对环境变量的访问.对于生产我使用在服务器上设置的环境变量.如果未设置环境变量(即在开发和测试中),我使用以下代码回退到config变量.

ENV['FACEBOOK_API_KEY'] || AppConfig['facebook_api_key']
Run Code Online (Sandbox Code Playgroud)

我的问题是我需要在环境特定的文件(development.rb/production.rb等)中提供这些变量,但是这个文件在初始化器之前加载.我应该怎么处理这个?

roo*_*roo 8

查看配置初始化事件的Rails指南.在进行此类配置时,您可以使用某些事件.

简而言之,您可以在初始化之后对环境进行配置:

#config/environments/development.rb
YourApp::Application.configure do
  config.after_initialize do
    #do some configuration after all initialisers have run
  end
end
Run Code Online (Sandbox Code Playgroud)