method
resolve_layout
v7.2.3 -
Show latest stable
- Class:
ActionView::TemplateRenderer
resolve_layout(layout, keys, formats)private
No documentation available.
# File actionview/lib/action_view/renderer/template_renderer.rb, line 92
def resolve_layout(layout, keys, formats)
details = @details.dup
details[:formats] = formats
case layout
when String
begin
if layout.start_with?("/")
raise ArgumentError, "Rendering layouts from an absolute path is not supported."
else
@lookup_context.find_template(layout, nil, false, keys, details)
end
rescue ActionView::MissingTemplate
all_details = @details.merge(formats: @lookup_context.default_formats)
raise unless template_exists?(layout, nil, false, keys, **all_details)
end
when Proc
resolve_layout(layout.call(@lookup_context, formats, keys), keys, formats)
else
layout
end
end