繁体   English   中英

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

[英]Config variables available in rails environment file

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

ENV['FACEBOOK_API_KEY'] || AppConfig['facebook_api_key']

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

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

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

#config/environments/development.rb
YourApp::Application.configure do
  config.after_initialize do
    #do some configuration after all initialisers have run
  end
end

如果有一种方法可以创建一个两层的结构是怎样database.yml你总是可以定义不同的配置在同一个文件中的每个环境,然后引用合适的版本:

ENV['FACEBOOK_API_KEY'] || AppConfig[Rails.env] && AppConfig[Rails.env]['facebook_api_key']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM