33

我认为这是一个小而简单的问题!

我正在使用.env文件来保留我所有的环境变量,并且我正在使用foreman.

不幸的是,这些环境变量在运行 rails 控制台时没有被加载,rails c所以我现在在运行控制台后手动加载它们,这不是最好的方法。

我想知道是否有更好的方法。

4

3 回答 3

66

大约一年前,“运行”命令被添加到foreman

参考:https ://github.com/ddollar/foreman/pull/121

您可以按如下方式使用它:

foreman run rails console

或者

foreman run rake db:migrate

于 2013-06-10T21:43:16.170 回答
2

rails 不知道 .env 文件中指定的环境变量,因为它特定于工头。您需要在调用 rails 控制台之前显式设置环境。看看这个问题

于 2013-03-14T07:19:21.290 回答
1

我个人在开发和测试环境中使用dotenv 。使用这种方法,您不必为命令添加前缀,只需在以下代码中调用初始化程序config/application.rb

Bundler.require(*Rails.groups)

Dotenv::Railtie.load

HOSTNAME = ENV['HOSTNAME']
于 2018-06-14T10:39:48.460 回答