2010-11-24 64 views
0

我想在腳本中使用activeSupport的空白方法,並得到錯誤「未定義的方法」爲空? for「blah」:String(NoMethodError)「。 Ruby對require語句沒有問題,但我無法使用該庫。儘管需要語句工作,但不能使用寶石庫

require "rubygems" 
require "active_support" 

if "blah".blank? 
    puts "blank!" 
end 

回答

2

您正在使用哪個版本的ActiveSupport?在當前版本中,默認情況下,它不再將每個特徵加載到名稱空間中。相反,您可以選擇和確切選擇您需要的功能。你的情況:

require 'rubygems' 
require 'active_support/core_ext/object/blank' 

puts 'blank!' if 'blah'.blank? 

如果你想一切使用

require 'active_support/all' 

其實,在Ruby中的現代版本,你可以擺脫require 'rubygems'爲好。甚至在舊版本中,你也不應該那樣做,因爲它會強制你的代碼的每個用戶使用RubyGems,並且使RubyGems不可用的環境中無法使用。

+0

這確實解決了它!我試圖開始工作的寶石沒有指定特定版本的activesupport。 – user518175 2010-11-27 16:32:40

0

嗯,我只是試過這個,它工作正常(沒有打印任何東西)。