Description
I assume this has been discussed several times already, just want to understand whether sideloading is possible with json adapter or works only with json_api adapter?
Current, I have the config as
ActiveModelSerializers.config.tap do |config|
config.embed = :ids
config.embed_in_root = true
end
and after the upgrade, I have changed it to
ActiveModelSerializers.config.adapter = :json
ActiveModelSerializers.config.default_includes = "**" # to include nested resources
Example:
Taking the reference from here
https://api.emberjs.com/ember-data/1.13/classes/DS.ActiveModelAdapter This Adapter expects specific settings using ActiveModel::Serializers, embed :ids, embed_in_root: true which sideloads the records.
Earlier if I have has_many relationship defined in the serializer, I would get the occupations side loaded.
{
"people": [{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"occupation_ids": [1]
}],
"occupations": [{
"id": 1,
"name": "developer"
}]
}
Now I am getting the response like this
{
"people": [{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"occupations": [{
"id": 1,
"name": "developer"
}]
}]
}
I have read from the other posts, that I could get the occupation_ids using this in the PeopleSerializer
def occupation_ids
object.occupations.pluck(:id)
end
But how do I sideload the associations, rather than nesting inside the people?