Не могу использовать библиотеку гемов, даже если требуются операторы - PullRequest
0 голосов
/ 24 ноября 2010

Я пытаюсь использовать пустой метод activeSupport в скрипте и получаю сообщение об ошибке "неопределенный метод 'blank?'для "бла": строка (NoMethodError) ".В Ruby нет проблем с оператором require, но я не могу использовать библиотеку.

require "rubygems"
require "active_support"

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

Ответы [ 2 ]

2 голосов
/ 24 ноября 2010

Какую версию 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 голосов
/ 24 ноября 2010

Хм, я только что попробовал это, и он работал нормально (ничего не печатал).

...