Как управлять корневым элементом с помощью конструктора в Active Model Serializer .10
Я называю AMS следующим образом:
def me
render json: current_user, serializer: UserProfile2Serializer, adapter: :json
end
Я хотел бы получить версию этого для кэширования в нашей базе данных Postgres. Я сделаю это:
json = UserProfile2Serializer.new(user)
но мне нужно указать adapter: :json
, Как мне это?
1 ответ
Попробуйте следующее ниже:
my_hash = ActiveModelSerializers::SerializableResource.new(user, serializer: UserProfile2Serializer, adapter: :json).as_json
render json: my_hash
Согласно документам:
За пределами контроллера правила точно такие же, как и для записей. Например:
render json: MyModel.new(level: 'awesome'), adapter: :json
будет сериализован так же, как
ActiveModelSerializers::SerializableResource.new(MyModel.new(level: 'awesome'), adapter: :json).as_json