class ActionView::TemplateRenderer
def render_with_layout(view, template, path, locals)
def render_with_layout(view, template, path, locals) layout = path && find_layout(path, locals.keys, [formats.first]) body = if layout ActiveSupport::Notifications.instrument("render_layout.action_view", identifier: layout.identifier) do view.view_flow.set(:layout, yield(layout)) layout.render(view, locals) { |*name| view._layout_for(*name) } end else yield end build_rendered_template(body, template) end