[英]Active model serializer nested association nil issue
我有以下协会
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
。 如何添加允许序列化书籍的条件,如果它不是零?
你可以用以下东西来装饰你的联想:
has_one :book, serializer: BookSerializer
def book
if object.book
BookSerializer.new(object.book)
end
end
如果那不是您想要的,那就告诉我了
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.