Где контроллер определяет, какой шаблон или представление отображается для определенного действия? - PullRequest
0 голосов
/ 19 марта 2020

Контроллер сам имеет много объектов, как и объекты запроса / ответа. Один из них должен определять представление, которое отображается при вызове определенного действия.

Можете ли вы сказать мне, где это определено?

С уважением

von Spotz

1 Ответ

3 голосов
/ 19 марта 2020

Отображаемое имя файла представления выводится из имени контроллера, имени действия и типа MIME запроса.

Например, действие PostsController show в обычном запросе html будет отображать файл app/views/posts/show.html.erb. Запрос JSON к PostsController#index отображает представление app/views/posts/index.json.jbuilder. И т. Д.

Вы можете явно указать контроллеру на рендеринг другого представления: render 'other/view', который будет отображать файл app/views/other/view.html.erb.

Вы также можете по-разному реагировать на различные типы запросов. в действии контроллера, используя respond_to:

respond_to do |format|
  format.html { render 'other/view' }
  format.json { render 'another/view' }
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...