Heroku环境变量无法访问,而是获得<%= ENV [' MY_Setting']%>

时间:2017-09-20 14:03:50

标签: ruby-on-rails-4 heroku amazon-s3

aws_setting.yml 中为不同的环境配置,如:



local: &local_settings
  enable_setting: true

heroku: &heroku_settings
  enable_setting: <%= ENV['MY_SETTING'] %>

test:
  <<: *local_settings

development:
  <<: *local_settings

staging:
  <<: *heroku_settings
&#13;
&#13;
&#13;

在heroku中添加MY_SETTING kvp 进行暂存配置变种

初始化期间加载的设置:

S3_SETTING = YAML.load_file("#{::Rails.root}/config/aws_setting.yml")[Rails.env]

现在,在部署到暂存后,而不是将S3_Setting['enable_setting']的值设为truefalse,而是接收&#39;&lt;%= ENV [&#39; MY_SETTING&#39 ;]%&gt;&#39;作为文本。

1 个答案:

答案 0 :(得分:1)

这是因为您只是加载YAML。您还需要将内容解析为ERB以获得推断的值。

YAML.load(ERB.new(File.read("#{::Rails.root}/config/aws_setting.yml")).result)[Rails.env]