rails yaml file

♀尐吖头ヾ 提交于 2020-02-24 14:41:18

        参考: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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!