This is the method which actually finds the layout using details in the lookup context object. If no layout is found, it checks if at least a layout with the given name exists across all details before raising the error.
# File lib/action_view/render/layouts.rb, line 65 def find_layout(layout) begin with_layout_format do layout =~ %r^\// ? with_fallbacks { find_template(layout) } : find_template(layout) end rescue ActionView::MissingTemplate => e update_details(:formats => nil) do raise unless template_exists?(layout) end end end