我有三个模型-Floor,TableGroups和Table。楼层有很多table_groups,而table_group有很多表,我定义了has_many 并属于模型中的关系在活动模型序列化程序中,我还以相同的方式定义了关系。
class FloorSerializer < ActiveModel::Serializer
attributes :id, :name
has_many :table_groups
end
class TableGroupSerializer < ActiveModel::Serializer
attributes :id, :name
has_many :tables
belongs_to :floor
end
class TableSerializer < ActiveModel::Serializer
attributes :id, :name
belongs_to :table_group
end
现在,如果点击/ floors api,我希望所有楼层及其数组中的所有table_groups和数组中的表组下的所有表。
但这是我从api获得的答复。虽然我在数据库的表组中有表。
[
{
"id":1,
"name":"First Floor",
"table_groups":[
{
"id":8,
"name":"First table group"
}
]
}
]
但是我想这样
[
{
"id":1,
"name":"First Floor",
"table_groups":[
{
"id":8,
"name":"first table group",
"tables": [
"id":1,
"name":"first table",
]
}
]
}
]
那么以这种格式获取数据的最佳解决方案是什么?