我正在为教师创建一个rails api,以便根据某些标准对学生进行排名。我有四个模型:教室、学生、标准和等级。
学生/标准是通过等级的多对多
学生/教室是多对多的
rank是学生/标准与rank附加字段之间的联接表,rank是1-4之间的整数。
我可以通过允许Classification.students通过我的课堂序列化程序返回属于某个课堂的学生列表作为响应(1关系深度)。如何从api返回课堂React(2个关系深度)中嵌套在学生中的每个学生的排名?理想的回答如下:
教室a:
{
id: "123",
name: "classroom A",
students: [
{ id: "456"
name: Juanita,
gender: female,
ranks: [
{ id: "789",
student_id: "456",
name: "willingness to help others",
rank: "4"
},
{ id: "101",
student_id: "456",
name: "Leadership",
rank: "3"
} ...
]
},
{ id: "232"
name: Billy,
gender: male,
ranks: [
{ id: "789",
student_id: "232",
name: "willingness to help others",
rank: "3"
},
{ id: "101",
student_id: "232",
name: "Leadership",
rank: "3"
} ...
]
}
]
}
提前谢谢。
1条答案
按热度按时间dba5bblo1#
rails上发布了一个类似的问题:使用活动的_model_序列化程序序列化深度嵌套的关联(感谢链接@lam phan)
然而,这篇文章中投票最多的答案并不十分清楚,也没有代码示例。超级失望。我还研究了jsonapi适配器,但没有找到我想要的解决方案。最后,对于链接的问题,我采用了与op相同的方法:在序列化程序中,我编写了自己的函数,并手动侧载了所需的其他数据。我本希望用“rails方式”来完成这项工作,但最终我选择了直接完成。