【问题标题】:Rails console default environmentRails 控制台默认环境
【发布时间】:2012-06-03 12:45:22
【问题描述】:

在我的开发机器上:

$ 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不应该默认加载生产环境,而不是开发环境吗?如果没有,为什么不呢?

【问题讨论】:

  • 谢谢。这回答了我关于如何将 rails 控制台作为生产运行的问题。它不遵循与 rails server -e production 相同的模式。

标签: ruby-on-rails ruby capistrano ruby-on-rails-3.2 rvm-capistrano


【解决方案1】:

rails 可执行文件不知道应该在哪台机器上运行哪个环境。

您可以将export RAILS_ENV=production 放入您要启动控制台的用户的~/.bashrc~/.bash_profile 文件中。

【讨论】:

    【解决方案2】:

    RAILS_ENV 是一个变量,与其他变量一样,始终默认为开发

    如果您愿意,可以随时在生产服务器上打开“~/.bash_profile”并添加以下内容:

     alias sc="bundle exec rails console production"
    

    然后运行source ~/.bash_profile 为您的终端会话重新加载该文件,您只需调用sc 即可加载控制台。

    【讨论】:

      猜你喜欢
      • 2013-06-29
      • 1970-01-01
      • 2015-05-05
      • 2013-02-15
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      • 2013-12-06
      相关资源
      最近更新 更多