我认为这是一个小而简单的问题!
我正在使用.env
文件来保留我所有的环境变量,并且我正在使用foreman
.
不幸的是,这些环境变量在运行 rails 控制台时没有被加载,rails c
所以我现在在运行控制台后手动加载它们,这不是最好的方法。
我想知道是否有更好的方法。
我认为这是一个小而简单的问题!
我正在使用.env
文件来保留我所有的环境变量,并且我正在使用foreman
.
不幸的是,这些环境变量在运行 rails 控制台时没有被加载,rails c
所以我现在在运行控制台后手动加载它们,这不是最好的方法。
我想知道是否有更好的方法。
大约一年前,“运行”命令被添加到foreman
参考:https ://github.com/ddollar/foreman/pull/121
您可以按如下方式使用它:
foreman run rails console
或者
foreman run rake db:migrate
rails 不知道 .env 文件中指定的环境变量,因为它特定于工头。您需要在调用 rails 控制台之前显式设置环境。看看这个问题。
我个人在开发和测试环境中使用dotenv 。使用这种方法,您不必为命令添加前缀,只需在以下代码中调用初始化程序config/application.rb
:
Bundler.require(*Rails.groups)
Dotenv::Railtie.load
HOSTNAME = ENV['HOSTNAME']