RAILS_ENV vs Rails.env?为什么值不同?

use*_*ser 5 development-environment ruby-on-rails environment-variables

我已经读过这个问题:Rails.env vs RAILS_ENV

我添加了 rails-dev-boost 插件 ( http://github.com/thedarkone/rails-dev-boost ) 并且它内部使用 Rails.env.development? 如果它不是开发,检查和绕过它的脚本。这一般没问题。

但我也使用 Spork Testunit ( http://github.com/timcharper/spork-testunit/ ) 来启动测试服务器以快速运行测试。但这会导致问题并在运行测试时加载 rails-dev-boost。我检查了 rails-dev-boost 插件的 init.rb ,它说:

Rails.env.development? # = true
RAILS_ENV # = "test"
Run Code Online (Sandbox Code Playgroud)

为什么这些值不同?是否还有其他设置这些值不同的东西?有任何想法吗?

mar*_*cgg 4

文档中:

def env
   @_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development")
end
Run Code Online (Sandbox Code Playgroud)