Анонимный модуль - это модуль, который объявлен так:
Fred = Module.new do
def meth1
"hello"
end
def meth2
"bye"
end
end
вместо использования обычного синтаксиса Module mod_name <block>
.Поскольку у них нет имени модуля, вы не можете получить имя модуля.to_constant_name
пытается вызвать desc.name.blank?
, где desc
- анонимный модуль (без name
).
Эта ошибка исходит от модуля ActiveSupport, что может указывать на ошибку в геме active_supportили может указывать на то, что какой-то другой фрагмент кода использует ActiveSupport неправильно.Одно только сообщение об ошибке не дает достаточно информации, чтобы идентифицировать виновника (по крайней мере, мне, кто-то с большим опытом работы с рельсами, мог бы предоставить более глубокое понимание).
Не зная обидного кода, также трудно сказатьпочему эта ошибка появляется в версии 1.9, или что нужно сделать, чтобы ее исправить.Учитывая, что существует множество необслуживаемых и недостаточно поддерживаемых жемчужин, которые еще не были обновлены для 1.9, я подозреваю, что ActiveSupport не является источником проблемы.Обновите все ваши драгоценные камни, которые имеют 1.9-совместимые версии, а затем попробуйте отключить другие ваши драгоценные камни по одной за раз (если можете) и посмотрите, по-прежнему ли вы получаете ошибку.
Если вы предоставите списокдругие драгоценные камни, которые вы используете, кто-то, кто мог столкнуться с ошибкой раньше, может предоставить некоторые детали.