簡體   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