我想在腳本中使用activeSupport的空白方法,並得到錯誤「未定義的方法」爲空? for「blah」:String(NoMethodError)「。 Ruby對require語句沒有問題,但我無法使用該庫。儘管需要語句工作,但不能使用寶石庫
require "rubygems"
require "active_support"
if "blah".blank?
puts "blank!"
end
我想在腳本中使用activeSupport的空白方法,並得到錯誤「未定義的方法」爲空? for「blah」:String(NoMethodError)「。 Ruby對require語句沒有問題,但我無法使用該庫。儘管需要語句工作,但不能使用寶石庫
require "rubygems"
require "active_support"
if "blah".blank?
puts "blank!"
end
您正在使用哪個版本的ActiveSupport?在當前版本中,默認情況下,它不再將每個特徵加載到名稱空間中。相反,您可以選擇和確切選擇您需要的功能。你的情況:
require 'rubygems'
require 'active_support/core_ext/object/blank'
puts 'blank!' if 'blah'.blank?
如果你想一切使用
require 'active_support/all'
其實,在Ruby中的現代版本,你可以擺脫require 'rubygems'
爲好。甚至在舊版本中,你也不應該那樣做,因爲它會強制你的代碼的每個用戶使用RubyGems,並且使RubyGems不可用的環境中無法使用。
嗯,我只是試過這個,它工作正常(沒有打印任何東西)。
這確實解決了它!我試圖開始工作的寶石沒有指定特定版本的activesupport。 – user518175 2010-11-27 16:32:40