Handles implicit rendering for a controller action that does not explicitly respond with
For API controllers, the implicit response is always
204 No Content.
For all other controllers, we use these heuristics to decide whether to render a template, raise an error for a missing template, or respond with
204 No Content:
First, if we DO find a template, it's rendered. Template lookup accounts for the action name, locales, format, variant, template handlers, and more (see
render for details).
Second, if we DON'T find a template but the controller action does have templates for other formats, variants, etc., then we trust that you meant to provide a template for this response, too, and we raise
ActionController::UnknownFormat with an explanation.
Third, if we DON'T find a template AND the request is a page load in a web browser (technically, a non-XHR GET request for an HTML response) where you reasonably expect to have rendered a template, then we raise
ActionView::UnknownFormat with an explanation.
Finally, if we DON'T find a template AND the request isn't a browser page load, then we implicitly respond with
© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.