Вопрос по ruby-on-rails, json, ruby-on-rails-3 – Включить результаты has_many в результат REST JSON

12

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

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

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

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

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

@list = List.find(params[:id]).joins(:entries) Mikhail Nikalyukin

Ваш Ответ

1   ответ
22

Да, есть:include вариант, который вы можете датьto_json:

format.json { render json: @list.to_json(:include => :entries) }
Error: User Rate Limit Exceededas_jsonError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded@list.to_json(:include => [:entries, :owners])Error: User Rate Limit Exceeded@list = List.includes([:entries, :owners]).find(params[:id])

Похожие вопросы