- Extended by:
- Defined in:
Turbo-Frame header to the request.
When that header is detected by the controller, we substitute our own minimal layout in place of the application-supplied layout (since we’re only working on an in-page frame, thus can skip the weight of the layout). We use a minimal layout, rather than avoid the layout entirely, so that it’s still possible to render content into the <tt>head<tt>.
Accordingly, we ensure that the etag for the page is changed, such that a cache for a minimal-layout request isn’t served on a normal request and vice versa.
This is merely a rendering optimization. Everything would still work just fine if we rendered everything including the full layout. Turbo Frames knows how to fish out the relevant frame regardless.
The layout used is
turbo_rails/frame.html.erb. If there’s a need to customize this layout, an application can supply its own (such as
app/views/layouts/turbo_rails/frame.html.erb) which will be used instead.
This module is automatically included in