[英]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.