Ruby on Rails 4.0.4:如何设置环境变量?

时间:2014-07-24 16:30:03

标签: ruby-on-rails ruby ruby-on-rails-4

如何设置环境变量?
我已经尝试过,你可以看到。

代码段:

应用/ local_env.yml:

MAIL_DOMAIN: 'gmail.com'
MAIL_USERNAME: "username@googlemail.com"
MAIL_PASSWORD: "password"


应用/配置/ application.rb中:

config.before_configuration do
  env_file = File.join(Rails.root, 'config', 'local_env.yml')
  YAML.load(File.open(env_file)).each do |key, value|
    ENV[key.to_s] = value
  end if File.exists?(env_file)
end


输出(RailsConsole):

>> ENV['MAIL_USERNAME']
nil

>> ENV['MAIL_DOMAIN']
nil

有人可以帮我解决吗?

1 个答案:

答案 0 :(得分:3)

您正在尝试使用configFile.join(Rails.root, 'config', 'local_env.yml')文件夹加载文件,但您已将该文件保存在应用的根目录中。

只有文件存在时才会执行YAML.load块。因为它无法找到config/local_env.yml,所以它不会加载任何内容。

您应该将local_env.yml移至config文件夹。如果您希望将文件保留在应用的根目录中,请将该行更改为:

env_file = File.join(Rails.root, 'local_env.yml')