Подтвердить что ты не робот

Включить has_many результаты в результат REST JSON

У меня есть модель под названием List, которая has_many :entries. Как обычно, Rails 3 сгенерировал этот метод show для List

def show
    @list = List.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @list }
    end
end

Как я могу изменить format.json, чтобы включить результаты entries из @list в ответ json?

Я знаю, что могу преобразовать @list в хэш, добавить к нему значение хэша .entries, а затем отобразить Hash, но я подозреваю, что Rails имеет более элегантный трюк в рукаве.

4b9b3361

Ответ 1

Да, есть опция :include, которую вы можете передать to_json:

format.json { render json: @list.to_json(:include => :entries) }