Add metadata to :attributes serializer (Active Model Serializers)

active-model-serializers, ruby, ruby-on-rails, ruby-on-rails-5

Solution

You can pass a custom adapter on a per controller basis:

render json: invoices, adapter: :json, each_serializer: Invoices::ItemizedSerializer, meta: {grand_total: grand_total}

Problem

Is there a way I can add a non-model metadata attribute onto an `each_serializer`, without using the `:json_api` adapter? ``` render json: invoices, each_serializer: Invoices::ItemizedSerializer ``` I want it to be... ``` { data: [{..invoice 1...}, {...invoice 2...}] metadata: {total: 500} } ``` instead of ``` [ {..invoice 1...}, {...invoice 2...} ] ```

Original source