Skip to content

Setting root key strategy globally for json adapter #1536

Description

@nullcrimson

After updating to v0.10.0.rc4 tag I had to specify ActiveModelSerializers.config.adapter = :json in an initializer for a rails application in order to make active_model_serializer to add root key to the the response. However if the model is nested the key is built using the whole class name. For example if I specify a model:

class Users::Profile < ActiveRecord::Base
end

and then in controller:

class Users::ProfilesController < ApplicationController
  def show
    @profile = Users::Profile.first
     respond_with @profile, serializer: UserProfileSerializer
  end
end

It will build json containing the root key as follows: {'users/profile': {'name': 'test'}}. Is there any way to make active_model_serializer to use the class itself ignoring nesting? I've looked through the source code and found a method json_key which builds the root element of the json. But overriding that method is not always working. Moving root element build method to a overridable strategy may be a good feature request candidate

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions