2016-07-05 59 views
-1

Rails应用程序在生产具有文件shared/.env.production像这样的内容:具体Rails的ENV变量

DB_NAME=db 
DB_PASSWORD=pass 

什么是处理此文件中的宝石?我可以在哪里阅读这些公约?如何在开发中设置这个?

回答

1

你可以看看dotenv(通过dotenv-rails宝石)。

我相信宝石通常会将.env文件放在根目录中,而不是shared文件夹。

2

您可以使用Dotenv宝石。在当前版本文件夹内创建一个shared/.env.production的符号链接。也许,你不需要额外的后缀.production。但是,如果您出于某种原因需要使用该功能,则必须在服务器启动之前使用Dotenv.load('.env.production')手动加载.env.production。如果你使用的是独角兽,你可以在你的unicorn.rb中输入下面的内容。

after_fork do |server, worker| 
    Dotenv.overload("#{Rails.root}/.env.production") 
    defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection 
end 

如果您正在使用Capistrano的,并希望Capistrano的创建符号链接的你,在linked_files列表为添加文件:

set :linked_files, %w{.env.production}