在我的应用中,发布了帖子has_many
评论和评论belongs_to
帖子(通过序列化工具中的has_one
关系建模)。
由于每当我尝试在序列化程序中对这两种关系建模时都会收到Stack Level Too Deep
错误消息,我想知道是否应保留has_many
关联或has_one
关联。
我还有一个初始化程序,它嵌入:id
并对数据进行侧载。
感谢您的帮助。我发誓,我发誓!
答案 0 :(得分:0)
对于这些关系,您的序列化程序应如下所示:
class PostSerializer < ActiveModel::Serializer
embed :ids
attributes :id # add other attributes here
has_many :comments
end
class CommentSerializer < ActiveModel::Serializer
embed :ids
attributes :id # add other attributes here
has_one :post
end
如果您的堆栈级别错误太深,则很可能是因为没有嵌入ID。如果没有嵌入id,它会尝试在帖子中嵌入注释,并且对于每个注释,再次嵌入帖子,然后再次嵌入注释等等,无限循环。
您还应该确保在ember应用中使用DS.ActiveModelSerializer和DS.ActiveModelAdapter。