繁体   English   中英

Rails 2中未定义的Rails.env

[英]Rails.env undefined in Rails 2

我有一个运行Ruby on Rails 2.2的较旧的应用程序,但是我无法使gem正常工作,因为它无法通过Rails.env找到当前环境:

$ script/console
>> Rails.env
NoMethodError: undefined method `env' for Rails:Module
from (irb):1

当定义Rails时,将gem设置为使用Rails.env ,将其设置为RAILS_ENV 但是我似乎有一个没有env方法的Rails对象(即使我阅读了Rails 2中添加的方法)。 知道发生了什么吗?

Rails 2.3中引入了Rails.env 如果可能,您可能想升级到Rails 2.3。

否则,请在config/initializers/rails_env.rb

require 'active_support/string_inquirer'
def Rails.env
  @_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development")
end

Rails模块始终处于导轨中。 它不是3中的新功能,因此检查是否已定义是处理问题的错误方法。 确定是否可以使用Rails.env的正确方法是执行Rails.respond_to? :env Rails.respond_to? :env

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM