如何在rails中创建自定义环境作为默认环境?

时间:2014-02-10 10:11:49

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2

通过添加新文件created,与config/environments/staging.rb相同,在我的rails应用中{i} config/environments/development.rb自定义暂存环境   然后添加了数据库配置config/database.yml

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

现在,我想让staging我的rails应用程序的default environment而不是开发。如何实现它?

3 个答案:

答案 0 :(得分:1)

您可以在application.rb声明后的Bundler.require中尝试此操作

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

答案 1 :(得分: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. Rails 4
  2. Rake
  3. 服务器
  4. 控制台
  5. DBCONSOLE
  6. 如果在bashrczshrc等设置了
  7. ,它将选择环境

答案 2 :(得分:0)

我已经把     ENV ['RAILS_ENV'] || ='custom_development' 在boot.rb中的最后一个。它奏效了。

我已经测试了

  • rake
  • 服务器
  • 控制台
  • DBCONSOLE

全部工作。