[英]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.