I am trying to set up a simple serialization. I have the following code:
def show
@movie = Movie.find_by(id: params[:id])
render json: { data: @movie }, serializer: MovieSerializer
end
class Movie < ActiveRecord::Base
include ActiveModel::Serialization
belongs_to :genre
attr_accessor :rating, :plot, :poster
end
class MovieSerializer < ActiveModel::Serializer
attributes :genre, :id
belongs_to :genre
attr_accessor :rating, :plot, :poster
def genre
'test'
end
end
The controller raises an error
render json: { data: @movie }, serializer: MovieSerializer
undefined method `read_attribute_for_serialization' for #<Hash:0x00007fda56b4bc88>
And it seems that object is indeed a hash inside serializer.