Skip to content

Latest commit

 

History

History
27 lines (21 loc) · 793 Bytes

passing_arbitrary_options.md

File metadata and controls

27 lines (21 loc) · 793 Bytes

Back to Guides

Passing Arbitrary Options To A Serializer

In addition to the serialization_scope, any options passed to render that are not reserved for the adapter are available in the serializer as instance_options.

For example, we could pass in a field, such as user_id into our serializer.

# posts_controller.rb
class PostsController < ApplicationController
  def dashboard
    render json: @post, user_id: 12
  end
end

# post_serializer.rb
class PostSerializer < ActiveModel::Serializer
  attributes :id, :title, :body

  def comments_by_me
    Comments.where(user_id: instance_options[:user_id], post_id: object.id)
  end
end