Rails的控制台默认环境(Rails console default environment)

2019-06-24 22:04发布

在我的机器:

$ bundle exec rails console
Loading development environment (Rails 3.2.3)
1.9.3p194 :001 > Rails.env
 => "development"

这是预期。 到现在为止还挺好。

然而,我的生产服务器(而我已经使用Capistrano的部署)上,我得到完全相同的结果:

$ bundle exec rails console
Loading development environment (Rails 3.2.3)
1.9.3p194 :001 > Rails.env
 => "development"

在任一机器,我可以代替做:

$ bundle exec rails console production
Loading development environment (Rails 3.2.3)
1.9.3p194 :001 > Rails.env
 => "production"

我的问题是:在生产服务器上,不应该bundle exec rails console默认加载的生产环境,而不是开发环境? 如果没有的话,为什么不呢?

Answer 1:

轨道可执行无法知道哪个环境应该哪台机器上运行。

你可以把export RAILS_ENV=production在你~/.bashrc~/.bash_profile要开始与控制台的用户的文件。



Answer 2:

RAILS_ENV是像任何其他将始终默认为发展变量

如果你喜欢,你可以随时打开“〜/ .bash_profile中”在生产服务器上,并添加此:

 alias sc="bundle exec rails console production"

然后运行source ~/.bash_profile重新加载文件,您的终端会话,你可以叫sc加载了控制台。



文章来源: Rails console default environment