如何在Rails控制台中加载环境变量?

时间:2013-03-12 19:52:20

标签: ruby-on-rails-3 environment-variables irb foreman

我认为这是一个简单易行的问题!

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

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

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

3 个答案:

答案 0 :(得分:64)

大约一年前,"运行"命令已添加到foreman

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

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

foreman run rails console

foreman run rake db:migrate

答案 1 :(得分:2)

rails不知道.env文件中指定的环境变量,因为它特定于foreman。您需要在调用rails console之前显式设置环境。看看this question

答案 2 :(得分:0)

我个人在开发和测试环境中使用dotenv。使用这种方法,您不必为命令添加前缀,只需在config/application.rb中调用初始值设定项:

Bundler.require(*Rails.groups)

Dotenv::Railtie.load

HOSTNAME = ENV['HOSTNAME']