Как визуализировать JSON с JBuilder в Rails 3.2
Я пытаюсь интегрировать JBuilder в проект Rails 3.2. Я установил гем, и я написал файл JBuilder в app/views/books/index.json.jbuilder
,
Вот мое действие индекса:
def index
@books = Book.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @books }
end
end
Это похоже на вызов по умолчанию as_json
метод Book
оказать ответ. Что мне нужно изменить, чтобы Rails вместо этого использовал мой шаблон JBuilder?
1 ответ
Решение
Уберите блок, на который вы переходите format.json
, Вы заставляете его игнорировать файл jbuilder и возвращать результат json: @books
в ответ. Если вы оставите блок вне:
respond_to do |format|
format.html # index.html.erb
format.json # no block here
end
Затем Rails вернется к обработке ответа по умолчанию и найдет шаблон в вашей директории представления, найдет файл jbuilder и отобразит его в качестве ответа.