【发布时间】:2015-07-21 10:45:35
【问题描述】:
这两天把我的头撞在墙上以弄清楚如何显示对象有很多对象在active_model_serializers中有很多对象。这是我的序列化程序:
节序列化器:
class SectionSerializer < ActiveModel::Serializer
attributes :id, :title, :description
has_many :questions, foreign_key: 'section_id', class_name: 'Comment'
end
下面是我的评论序列化器
class CommentSerializer < ActiveModel::Serializer
attributes :id, :body
belongs_to :section
has_many :replies, class_name: 'Comment', foreign_key: 'question_id'
belongs_to :question, class_name: 'Comment'
end
基本上我想实现Section has_many questions和Question has_many replies,但两者都 Question和Reply是同一个模型,即Comment模型。
问题是当我获取所有部分时如何包含回复。现在我得到了这个 JSON:
{
"id": 1,
"title": "section 1",
"description": "Lorem ipsum dolor sit amet",
"questions": [
{
"id": 1,
"body": "question 1"
}
]
}
我们可以看到问题数组中没有回复,我需要来自序列化程序的 JSON 类似的东西。
{
"id": 1,
"title": "section 1",
"description": "Lorem ipsum dolor sit amet",
"questions": [
{
"id": 1,
"body": "question 1",
"replies" : [
{
"id": 2,
"body": "reply 1 for question 1"
},
{
"id": 3,
"body": "reply 2 for question 1"
}
]
}
]
}
非常感谢您的帮助。
谢谢!
【问题讨论】:
标签: ruby-on-rails json active-model-serializers