我正在尝试在脚本中使用activeSupport的空白方法并将错误“未定义的方法”设为空白? for“blah”:String(NoMethodError)“。 Ruby没有require语句的问题,但我不能使用该库。
require "rubygems"
require "active_support"
if "blah".blank?
puts "blank!"
end
答案 0 :(得分: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不可用的环境中使用。
答案 1 :(得分:0)