модуль ActionController::ImplicitRender
Обрабатывает неявное отображение для действия контроллера, которое явно не отвечает с render, respond_to, redirect, или head.
Для контроллеров API неявный ответ всегда 204 Без содержимого.
Для всех других контроллеров мы используем эти эвристики, чтобы решить, отображать ли шаблон, вызывать ли ошибку из-за отсутствия шаблона или отвечать с 204 Без содержимого:
Во-первых, если мы НАХОДИМ шаблон, он отображается. Поиск шаблонов учитывает имя действия, языковые настройки, формат, вариант, обработчики шаблонов и многое другое (см. render для подробностей).
Во-вторых, если мы НЕ НАХОДИМ шаблон, но действие контроллера имеет шаблоны для других форматов, вариантов и т. д., то мы предполагаем, что вы намеревались предоставить шаблон и для этого ответа, и мы вызываем ActionController::UnknownFormat с объяснением.
В-третьих, если мы НЕ НАХОДИМ шаблон, а запрос — это загрузка страницы в веб-браузере (технически, не-XHR GET запрос для HTML ответа), где вы ожидаете отображения шаблона, то мы вызываем ActionView::UnknownFormat с объяснением.
Наконец, если мы НЕ НАХОДИМ шаблон, и запрос не является загрузкой страницы браузера, то мы неявно отвечаем с 204 Без содержимого.
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.