希望通过特定哈希获取所有数据库条目并将其作为json返回。我使用以下代码:
@tasks = Task.find_all_by_hash(params[:hash])
respond_to do |format|
format.json { render :json => @tasks }
end
现在我遇到了我的json文件不正确的问题。它有以下输出:
[
{
task: {
hash: "9dfca619f00f5488785f6b74ad1b590beefaee7a88c04884bf197e7679f3"
id: 4
created_at: "2010-12-16T09:09:51Z"
updated_at: "2010-12-16T09:14:10Z"
done: true
name: "Hallo"
}
},
{
task: {
hash: "9dfca619f00f5488785f6b74ad1b590beefaee7a88c04884bf197e7679f3"
id: 5
created_at: "2010-12-16T09:12:37Z"
updated_at: "2010-12-16T09:12:37Z"
done: true
name: "Test"
}
},
...
]
但实际上我想这样:
{ tasks: [
{"id":"1","date_added":"0001-02-22 00:00:00","post_content":"Check out my content, this is loaded via ajax and parsed with JSON","author":"Ryan Coughlin"},
{"id":"2","date_added":"0000-00-00 00:00:00","post_content":"More content, loaded. Lets try to add a form in and post via ajax and append the new data","author":"Billy Bob"}
]}
任何建议?谢谢!
答案 0 :(得分:1)
尝试单独将任务收集到数组并使用它创建一个json对象。有点像
@tasks = Task.find_all_by_hash(params[:hash])
a = []
@tasks.each do |t|
a << t[:task]
end
b = {:tasks => a}
respond_to do |format|
format.json { render :json => b }
end