0

スクリプトでactiveSupportの空白のメソッドを使用しようとすると、「undefined method'blank?」というエラーが発生します。"blah":String(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 に答える