我有以下协会
class User < ActiveRecord::Base
has_one :book
end
class Book < ActiveRecord::Base
has_many :pages
end
我的序列化工具看起来像:
user_serializer.rb
class UserSerializer < ActiveModel::Serializer
...
has_one :book, serializer: BookSerializer
end
book_serializer.rb
class BookSerializer < ActiveModel::Serializer
...
has_many :pages
end
现在,当我尝试序列化没有书籍的用户对象时,会引发错误undefined method pages for nil class
。如何添加只允许序列化书籍的条件?
答案 0 :(得分:0)
您可以使用以下内容来装饰您的关联:
has_one :book, serializer: BookSerializer
def book
if object.book
BookSerializer.new(object.book)
end
end
如果那不是您正在寻找的内容,请告诉我