Ruby on rails 什么';RACK_ENV和RAILS_ENV之间有什么不同?
我想了解rails应用程序的当前环境。 但我不知道RACK_ENV和RAILS_ENV有什么不同? 谁能帮我Ruby on rails 什么';RACK_ENV和RAILS_ENV之间有什么不同?,ruby-on-rails,Ruby On Rails,我想了解rails应用程序的当前环境。 但我不知道RACK_ENV和RAILS_ENV有什么不同? 谁能帮我 为什么有时候RACK_ENV是空的,而RAILS_ENV有价值?RAILS应用程序使用RAILS_ENV。其他基于机架的应用程序使用Rack\u ENV。如果您有Rails应用程序,请忽略RACK\u ENV 编辑:另一个答案更正确。您可以使用RACK_ENV和RAILS_ENV,但RAILS_ENV优先于RACK_ENV ENV[“RAILS_ENV”]来自选项 def option
为什么有时候RACK_ENV是空的,而RAILS_ENV有价值?RAILS应用程序使用
RAILS_ENV
。其他基于机架的应用程序使用Rack\u ENV
。如果您有Rails应用程序,请忽略RACK\u ENV
编辑:另一个答案更正确。您可以使用RACK_ENV和RAILS_ENV,但RAILS_ENV优先于RACK_ENV ENV[“RAILS_ENV”]来自选项
def options
merged_options = @use_default_options ? default_options.merge(@options) : @options
merged_options.reject { |k, v| @ignore_options.include?(k) }
end
如果是默认的rails服务器,则环境来自默认选项
def default_options
environment = ENV['RACK_ENV'] || 'development'
default_host = environment == 'development' ? 'localhost' : '0.0.0.0'
{
:environment => environment,
:pid => nil,
:Port => 9292,
:Host => default_host,
:AccessLog => [],
:config => "config.ru"
}
end
因此,ENV['RACK_ENV']具有默认值“development”最后,使用一行代码作为参考,而不只是在主分支中插入指向文件的链接的人。
def default_options
environment = ENV['RACK_ENV'] || 'development'
default_host = environment == 'development' ? 'localhost' : '0.0.0.0'
{
:environment => environment,
:pid => nil,
:Port => 9292,
:Host => default_host,
:AccessLog => [],
:config => "config.ru"
}
end