Rails:根据条件生成Json响应
Rails: Generate Json response based on condition
如何在 json.jbuilder
文件中生成基于条件的 JSON
响应。
例如:
json.posts @posts do |post|
post.id post.id
post.users.each do |user|
if user.status == true
json.name user.name
json.age user.age
else
json.name user.supervisor_name
json.age user.supervisor_age
end
end
end
问题是,如果 user.status == false
它不执行 else 部分。
有人可以帮忙吗?
我想要这样的回复:
{
"posts": [
{
"id": "1",
{
"name": "Jhon",
"age": "24"
},
{
"name": "Wick",
"age": "25"
}
},
{
"id": "2",
{
"name": "Tom",
"age": "32"
},
{
"name": "Cruis",
"age": "31"
}
}
]
}
你应该这样做
json.posts @posts do |post|
json.id post.id
json.users post.users do |user|
if user.status == true
json.name user.name
json.age user.age
else
json.name user.supervisor_name
json.age user.supervisor_age
end
end
end
如何在 json.jbuilder
文件中生成基于条件的 JSON
响应。
例如:
json.posts @posts do |post|
post.id post.id
post.users.each do |user|
if user.status == true
json.name user.name
json.age user.age
else
json.name user.supervisor_name
json.age user.supervisor_age
end
end
end
问题是,如果 user.status == false
它不执行 else 部分。
有人可以帮忙吗?
我想要这样的回复:
{
"posts": [
{
"id": "1",
{
"name": "Jhon",
"age": "24"
},
{
"name": "Wick",
"age": "25"
}
},
{
"id": "2",
{
"name": "Tom",
"age": "32"
},
{
"name": "Cruis",
"age": "31"
}
}
]
}
你应该这样做
json.posts @posts do |post|
json.id post.id
json.users post.users do |user|
if user.status == true
json.name user.name
json.age user.age
else
json.name user.supervisor_name
json.age user.supervisor_age
end
end
end