1
我現在有一個控制器返回JSON對象,看起來像這樣:Rails 3 - 返回包裝在單個對象中的JSON對象?
def getModels
@vehicleModels = @vehicleModels.where(:vehicleMake_id => params[:vehicleMake])
respond_with(@vehicleModels)
end
這工作得很好,並返回以下JSON:
[
{"created_at":"2011-06-22T15:49:06Z","id":1,"name":"A4","updated_at":"2011-06-22T15:49:06Z","vehicleMake_id":1},
{"created_at":"2011-06-22T15:49:06Z","id":2,"name":"A5","updated_at":"2011-06-22T15:49:06Z","vehicleMake_id":1},
{"created_at":"2011-06-22T15:49:06Z","id":3,"name":"A6","updated_at":"2011-06-22T15:49:06Z","vehicleMake_id":1},
{"created_at":"2011-06-22T15:49:06Z","id":4,"name":"A8","updated_at":"2011-06-22T15:49:06Z","vehicleMake_id":1},
{"created_at":"2011-06-22T15:49:06Z","id":5,"name":"TT","updated_at":"2011-06-22T15:49:06Z","vehicleMake_id":1},
{"created_at":"2011-06-22T15:49:06Z","id":10,"name":"Touareg","updated_at":"2011-06-22T15:49:06Z","vehicleMake_id":1}
]
的問題是,JQuery的下拉我試圖加載JSON到似乎期待一個JSON根節點。因此,直接加載JSON不起作用。但是,如果它有一個根節點,如下所示,它工作正常:
{"results":[
{"created_at":"2011-06-22T15:49:06Z","id":1,"name":"A4","updated_at":"2011-06-22T15:49:06Z","vehicleMake_id":1},
{"created_at":"2011-06-22T15:49:06Z","id":2,"name":"A5","updated_at":"2011-06-22T15:49:06Z","vehicleMake_id":1},
{"created_at":"2011-06-22T15:49:06Z","id":3,"name":"A6","updated_at":"2011-06-22T15:49:06Z","vehicleMake_id":1},
{"created_at":"2011-06-22T15:49:06Z","id":4,"name":"A8","updated_at":"2011-06-22T15:49:06Z","vehicleMake_id":1},
{"created_at":"2011-06-22T15:49:06Z","id":5,"name":"TT","updated_at":"2011-06-22T15:49:06Z","vehicleMake_id":1},
{"created_at":"2011-06-22T15:49:06Z","id":10,"name":"Touareg","updated_at":"2011-06-22T15:49:06Z","vehicleMake_id":1}
]}
所以,問題很簡單 - 我怎樣才能軌包括根節點?
我應該指出,我試圖通過在我的配置中設置ActiveRecord::Base.include_root_in_json = true
來做到這一點,但只是將根節點添加到每個單獨的對象,而不是我需要的一個整體根節點。
謝謝!
完美的作品,謝謝! –
我們可以使用'to_json'選項來精細控制json輸出嗎? – baxang