Rails json/jbuilder - 根据类别对 json 视图进行分组
Rails json/jbuilder - Group json view based on category
我有一个用 RoR 制作的 Web 应用程序。
我需要向移动应用程序提供 json。
这是我生成 Json:
的代码
json.category do
json.name monument.category.name
json.monumento do
json.name monument.name
json.id monument.id
json.pois monument.pois do |p|
json.name p.name
end
end
end
输出为:
{
"category": {
"name": "Igrejas",
"monumento": {
"name": "Igreja de Santa Maria do Olival",
"id": 2,
"pois": [{
"name": "Igreja de Santa Maria do Olival"
}]
}
}
},
{
"category": {
"name": "Igrejas",
"monumento": {
"name": "Igreja de São João Baptista",
"id": 3,
"pois": [{
"name": "Igreja de São João Baptista"
}]
}
}
},
{
"category": {
"name": "Igrejas",
"monumento": {
"name": "Igreja da Nossa Senhora da Graça",
"id": 4,
"pois": [{
"name": "Igreja da Nossa Senhora da Graça"
}]
}
}
},
我的问题是我需要对类别进行分组。
像这样:
{
"category": {
"name": "Igrejas",
"monumento": {
"name": "Igreja de Santa Maria do Olival",
"id": 2,
"pois": [{
"name": "Igreja de Santa Maria do Olival"
}]
},
"monumento": {
"name": "Igreja de São João Baptista",
"id": 3,
"pois": [{
"name": "Igreja de São João Baptista"
}]
},
"monumento": {
"name": "Igreja da Nossa Senhora da Graça",
"id": 4,
"pois": [{
"name": "Igreja da Nossa Senhora da Graça"
}]
}
}
},
有什么办法可以解决这个问题吗?
你需要做这样的事情
在你的控制器中,
@categories = Category.where(name: 'Igrejas').includes(monuments: :pois)
在您看来,
json.category @categories do |category|
json.name category.name
json.monuments category.monuments do |monument|
json.name monument.name
json.id monument.id
json.pois monument.pois do |p|
json.name p.name
end
end
end
我有一个用 RoR 制作的 Web 应用程序。 我需要向移动应用程序提供 json。 这是我生成 Json:
的代码json.category do
json.name monument.category.name
json.monumento do
json.name monument.name
json.id monument.id
json.pois monument.pois do |p|
json.name p.name
end
end
end
输出为:
{
"category": {
"name": "Igrejas",
"monumento": {
"name": "Igreja de Santa Maria do Olival",
"id": 2,
"pois": [{
"name": "Igreja de Santa Maria do Olival"
}]
}
}
},
{
"category": {
"name": "Igrejas",
"monumento": {
"name": "Igreja de São João Baptista",
"id": 3,
"pois": [{
"name": "Igreja de São João Baptista"
}]
}
}
},
{
"category": {
"name": "Igrejas",
"monumento": {
"name": "Igreja da Nossa Senhora da Graça",
"id": 4,
"pois": [{
"name": "Igreja da Nossa Senhora da Graça"
}]
}
}
},
我的问题是我需要对类别进行分组。
像这样:
{
"category": {
"name": "Igrejas",
"monumento": {
"name": "Igreja de Santa Maria do Olival",
"id": 2,
"pois": [{
"name": "Igreja de Santa Maria do Olival"
}]
},
"monumento": {
"name": "Igreja de São João Baptista",
"id": 3,
"pois": [{
"name": "Igreja de São João Baptista"
}]
},
"monumento": {
"name": "Igreja da Nossa Senhora da Graça",
"id": 4,
"pois": [{
"name": "Igreja da Nossa Senhora da Graça"
}]
}
}
},
有什么办法可以解决这个问题吗?
你需要做这样的事情
在你的控制器中,
@categories = Category.where(name: 'Igrejas').includes(monuments: :pois)
在您看来,
json.category @categories do |category|
json.name category.name
json.monuments category.monuments do |monument|
json.name monument.name
json.id monument.id
json.pois monument.pois do |p|
json.name p.name
end
end
end