Я пытаюсь добавить собственный сериализатор в ActiveJob после Руководство по ActiveJob Rails. У меня есть следующий класс, изначально в файле app/lib/money_serializer.rb,
class MoneySerializer < ActiveJob::Serializers::ObjectSerializer
# ...
end
А в config/application.rb
# ...
config.active_job.custom_serializers << MoneySerializer
# ...
Я продолжаю получать uninitialized constant MoneySerializer (NameError), который подсказывает мне, что сериализатор не загружается при загрузке, и безуспешно пытался разместить его в разных местах (в том числе в конфигурациях / инициализаторах).
Что мне здесь не хватает? Где мне разместить сериализатор ActiveJob?
У меня создалось впечатление, что, в отличие от {Rails.root}/lib, все под {Rails.root}/app загружается автоматически. У меня есть пара служебных классов / модулей, и я не имею с ними никаких проблем.
Ах, mybad неправильно прочитал путь наверху :( Еще недостаточно кофе: P





Если это кому-то поможет,
Кажется, это работает, когда я помещаю сериализатор и конфигурацию в инициализатор
class MoneySerializer < ActiveJob::Serializers::ObjectSerializer
# ...
end
config.active_job.custom_serializers << MoneySerializer
Очень странно проводить здесь занятия. Есть другие предложения?
Вы добавили папку lib в пути автозагрузки? Я думаю, что с более новой версией Rails, использующей zeigeist, вам нужно явно добавить этот каталог в пути автозагрузки.