Rails 3 - возвращение объектов JSON, обернутых в один объект? - PullRequest
1 голос
/ 23 июня 2011

В настоящее время у меня есть контроллер, который возвращает объекты 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}
]}

Итак, вопрос прост - как мне получить рельсы для включения корневого узла?

IСледует отметить, что я пытался сделать это, установив ActiveRecord::Base.include_root_in_json = true в моей конфигурации, но при этом к каждому отдельному объекту добавлялись только корневые узлы, а не один общий корневой узел, как мне требуется.

1 Ответ

3 голосов
/ 23 июня 2011

Вы можете сделать следующее

 respond_with { :results => @vehicleModels }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...