我有一个名为Todo的模型,我渲染了这个:
format.json { render :json => @todo }
Run Code Online (Sandbox Code Playgroud)
每个Todo都属于一个列表.我想要添加@todo.list.completion_percentageJSON 的值,因为我需要这个来更新UI(AJAX请求),所以JSON看起来像这样:
{
"todo": {
"created_at": "2011-02-26T19:39:43Z",
"updated_at": "2011-02-26T19:53:13Z",
"done": true,
"text": "Apples",
"id": 10,
"list_id": 2,
"user_id": 1,
"due_date": null
// BELOW THIS LINE SHOULD BE IMPLEMENTED
"list": {
"completion_percentage": 63
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了各种各样的东西但没有效果.谁能帮我?
Yua*_*Zhu 19
要改进Brandon的答案,请尝试使用:
render :json => @todo.attributes.merge({list: { "completion_percentage" => 63 }})
Run Code Online (Sandbox Code Playgroud)
Mic*_*ley 16
您可能希望捕获JSON数据的值,然后进行修改.
format.json { render :json => JSON::parse(@todo.to_json).merge("list" => { "completion_percentage" => 63 }).to_json }
Run Code Online (Sandbox Code Playgroud)