embed_in_root works even if serializer is invoked through another serializers' association which itself does not have embed_in_root set

This commit is contained in:
Radan Skoric
2014-08-23 18:21:24 +02:00
parent 2fec5111ef
commit ddfd8d2c11
4 changed files with 59 additions and 2 deletions

23
test/fixtures/poro.rb vendored
View File

@@ -22,9 +22,22 @@ class User < Model
end
end
class UserInfo < Model
def user
@user ||= User.new(name: 'N1', email: 'E1')
end
end
class Profile < Model
end
class Category < Model
def posts
@posts ||= [Post.new(title: 'T1', body: 'B1'),
Post.new(title: 'T2', body: 'B2')]
end
end
class Post < Model
def comments
@comments ||= [Comment.new(content: 'C1'),
@@ -47,6 +60,10 @@ class UserSerializer < ActiveModel::Serializer
has_one :profile
end
class UserInfoSerializer < ActiveModel::Serializer
has_one :user
end
class ProfileSerializer < ActiveModel::Serializer
def description
description = object.read_attribute_for_serialization(:description)
@@ -56,6 +73,12 @@ class ProfileSerializer < ActiveModel::Serializer
attributes :name, :description
end
class CategorySerializer < ActiveModel::Serializer
attributes :name
has_many :posts
end
class PostSerializer < ActiveModel::Serializer
attributes :title, :body