Open
Description
Hi, I am trying to switch from AMS to jsonapi-rails gem, but after creating serializers, I still get an uninitialized constant GroupsController::SerializableGroup
error message from the gem
def index
groups = Group.all
render jsonapi: groups, class: {Group: SerializableGroup }
end
serializers/group_serializer.rb
class SerializableGroup < JSONAPI::Serializable::Resource
type 'group'
has_many :users
attributes :name
end
I'm not sure what I am doing wrong really.
Metadata
Assignees
Labels
No labels
Activity
beauby commentedon Feb 5, 2020
Could you try replacing
class: {Group: SerializableGroup }
withclass: {Group: ::SerializableGroup }
?chrisgeek commentedon Feb 5, 2020
Thanks for your response, tried what you suggested but I got the same error message.
matt-glover commentedon Mar 30, 2020
Maybe a Rails autoloading thing? Is there a
require
in the controller for theserializers/group_serializer
file?Based on the original issue it looks like the name of the file (
serializers/group_serializer.rb
) does not match the name of the class (SerializableGroup
) both because of the ordering of termsgroup
andserializable
and because the file name isserializers
while the class saysSerializable
so the Rails autoloader might not be able to find and load that class dynamically.JohnFTitor commentedon Jun 4, 2022
I had the same issue. Changed the name of the file to match the new Serializable class (Like this: serializable_equipment for the class: SerializableEquipment) and it worked for me.
It is as @matt-glover implied. A rails autoloading thing with the filename