Как я могу сделать ассоциации загружены в рельсы 3 в JSON? - PullRequest
1 голос
/ 11 декабря 2011

В моем приложении rails 3.1 есть списки, в которых много задач.Все ассоциации настроены соответствующим образом, я могу вызвать aList.tasks, и я могу видеть задачи для Списка.Однако, когда я загружаю /lists.json, я получаю следующий вывод:

{
created_at: "2011-12-07T21:51:31Z",
id: 1,
title: "Test 1",
updated_at: "2011-12-07T21:51:31Z"
}

Итак, список сериализуется в JSON, но его ассоциации «задач» нет (задачи вложены в списки, поэтому/ list / 1 / tasks получит задачи ... но только для этого 1 списка).И если у меня есть 500 списков, я не хочу звонить 500 раз, чтобы получить все задачи для каждого списка - я хочу получить все задачи, когда получу все списки.Как я могу настроить это так, чтобы JSON также включал ассоциацию?Мысли?

Спасибо!

1 Ответ

6 голосов
/ 11 декабря 2011

При рендеринге списка просто добавьте include: :tasks в to_json.

format.json do
  render json: @list.to_json(include: :tasks)
end

PS Не забывайте, что новый синтаксис хэша работает только для ruby> = 1.9.2.Вот старый синтаксис.

format.json do
  render :json => @list.to_json(:include => :tasks)
end
...