Rails应用程序在生产具有文件shared/.env.production
像这样的内容:具体Rails的ENV变量
DB_NAME=db
DB_PASSWORD=pass
什么是处理此文件中的宝石?我可以在哪里阅读这些公约?如何在开发中设置这个?
Rails应用程序在生产具有文件shared/.env.production
像这样的内容:具体Rails的ENV变量
DB_NAME=db
DB_PASSWORD=pass
什么是处理此文件中的宝石?我可以在哪里阅读这些公约?如何在开发中设置这个?
你可以看看dotenv(通过dotenv-rails宝石)。
我相信宝石通常会将.env
文件放在根目录中,而不是shared
文件夹。
您可以使用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}