4

created自定义分段环境在我的Rails应用程序通过添加新的文件config/environments/staging.rb,一样config/environments/development.rb ,然后添加数据库配置config/database.yml如何在一个默认环境中使用rails自定义环境?

staging: 
    adapter: sqlite3 
    database: db/staging.sqlite3 
    pool: 5 
    timeout: 5000 

现在,我要让staging我的Rails应用程序的default environment代替发展。如何实现它?

+1

检查[this](http://stackoverflow.com/a/10796870/635033)回答了@ jigfox。我相信这就是你要找的。 –

+0

@gtzilgkakis,在用户的〜/ .bashrc或〜/ .bash_profile文件中添加RAILS_ENV。会使这个应用程序依赖于控制台,它不应该独立于〜/ .bashrc或〜/ .bash_profile文件吗? –

+0

@SachinSingh只想知道..做任何答案都可以帮到你吗? –

回答

1

理想情况下,你必须设置环境变量.bashrc

export RAILS_ENV=staging 

因为rails完全依赖于环境变量。但就像你说的

在用户的〜/ .bashrc或〜/ .bash_profile文件中添加RAILS_ENV。会使这个应用程序依赖于控制台,它不应该独立于〜/ .bashrc或〜/ .bash_profile文件吗?

很明显,这是另一种选择。包括这条线在config/boot.rb

ENV["RACK_ENV"] = ENV['RAILS_ENV'] || ENV['RACK_ENV'] || "staging" 

这将工作到处都是。我在下面的地方进行测试

  1. 轨道4
  2. 服务器
  3. 控制台
  4. DBCONSOLE
  5. 它会挑环境,如果在bashrczshrc
  6. 设置
+0

是一个很好的。 –

+0

@SachinSingh非常感谢。如果答案满足您的标准,请在您获得时间时进行测试。请接受它。 –

1

你可以试试这个在您的application.rbBundler.require声明

ENV['RAILS_ENV'] ||= 'staging' 
+0

这是不正确的。它不会完全改变环境。我只用'rake'测试了这个,rake选择了'development'环境。 –

0

我把 ENV ['RAILS_ENV'] || ='custom_development' 最后在boot.rb中。有效。

我已经测试

  • 服务器
  • 控制台
  • DBCONSOLE

所有的工作。

相关问题