rails yaml file

        参考:http://railsapps.github.io/rails-environment-variables.html

       整理一下,方法主要有三种:

  一.直接设置UNIX环境变量,这个不用讲了吧。

  二.使用Figaro Gem

1.$ rails generate figaro:install
2.在config/application.yml中添加想要添加的环境变量
3.在某些环境变量不被允许的场景下可以用:
        Figaro.env.gmail_username
4.设置不同开发场景中:
HELLO: world
development:
  HELLO: developers
production:
  HELLO: users

  三.使用本地变量:

  

1.添加一个本地yml文件
2.确保application.rb中有如下内容:
# Version of your assets, change this if you want to expire all your assets
 config.assets.version = '1.0'


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
3.之后就可在程序中任意地方使用环境变量了。
4.设定使用场景:
if Rails.env.development?
  config.action_mailer.smtp_settings = {
    user_name: ENV["GMAIL_USERNAME_DEV"]
  }
end

if Rails.env.test?
  config.action_mailer.smtp_settings = {
    user_name: ENV["GMAIL_USERNAME_TEST"]
  }
end

if Rails.env.production?
  config.action_mailer.smtp_settings = {
    user_name: ENV["GMAIL_USERNAME"]
  }
end

 

posted @ 2013-07-13 19:44  孤独的小马哥  阅读(602)  评论(0)    收藏  举报