0

我正在尝试在脚本中使用 activeSupport 的空白方法并收到错误“未定义的方法'空白?' 对于“废话”:字符串(NoMethodError)“。Ruby 的 require 语句没有问题,但我无法使用该库。

require "rubygems"
require "active_support"

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

2 回答 2

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 不可用的环境中使用。

于 2010-11-24T00:31:04.107 回答
0

嗯,我刚试过,效果很好(没有打印任何东西)。

于 2010-11-24T00:31:10.810 回答