Reputation: 1461
Using Rails 7.2.1. Documentation on custom serializers for ActiveJob is pretty concise. It lacks context on how letting Rails to pick them up though.
I'm having issues with this part. My serializer code goes in app/serializers
which I'm adding to the autoloads path in config/application.rb
:
# in config/application.rb
...
config.autoload_paths += Dir[Rails.root.join("app/serializers")]
Trying in an initializer ends up with a NameError
:
# in config/initializer/insights.rb
...
Rails.application.config.active_job.custom_serializers << MarketdataClientSerializer
/Users/seba/repos/stocks-insights/blog/config/initializers/insights.rb:10:in `block in <main>': uninitialized constant MarketdataClientSerializer (NameError)
Rails.application.config.active_job.custom_serializers << MarketdataClientSerializer
If I however, require the serializer file explicitly, it works out but this feels incorrect:
# in config/initializer/insights.rb
...
require File.join(Rails.root, "app", "serializers", "marketdata_client.rb")
Rails.application.config.active_job.custom_serializers << MarketdataClientSerializer
Shouldn't the autoload path configuration take care of this? Am I missing some configuration?
Upvotes: 0
Views: 57