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