我想在脚本中使用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