Mik*_*cic 3 javascript ruby json extjs ruby-on-rails
我有一些现有项目是建立在不推荐使用的 PHP 框架上的,我希望能以最少的努力将它们转移到 Ruby on Rails。我现在的主要问题是 JSON 返回的格式。我的前端代码(所有 ExtJS)期望格式为 JSON:
{
"result": [
[id: 1, name: "mike"],
[id: 2, name: "john"],
[id: 3, name: "gary"]
]
}
Run Code Online (Sandbox Code Playgroud)
但是 Ruby on Rails 的默认返回如下:
{
"result": [
{"record" : {id: 1, name: "mike"}},
{"record" : {id: 2, name: "john"}},
{"record" : {id: 3, name: "gary"}}
]
}
Run Code Online (Sandbox Code Playgroud)
我的控制器基本上什么都不做,但:
@records = Record.find(:all)
respond_to do |format|
format.json { render :text => @records.to_json}
end
Run Code Online (Sandbox Code Playgroud)
如您所见,它为每条记录添加了一个额外的键,我的前端 ExtJS 代码无法按原样解析这些键。有什么办法可以阻止这种情况发生吗?
谢谢你的尽心帮助,
迈克·特普西奇
基本上 :
ActiveRecord::Base.include_root_in_json = false
Run Code Online (Sandbox Code Playgroud)
或者
YourClass.include_root_in_json = false
Run Code Online (Sandbox Code Playgroud)
如此处所述:http : //apidock.com/rails/ActiveRecord/Serialization/to_json
| 归档时间: |
|
| 查看次数: |
5732 次 |
| 最近记录: |