aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/renderer/partial_renderer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionview/lib/action_view/renderer/partial_renderer.rb')
-rw-r--r--actionview/lib/action_view/renderer/partial_renderer.rb32
1 files changed, 17 insertions, 15 deletions
diff --git a/actionview/lib/action_view/renderer/partial_renderer.rb b/actionview/lib/action_view/renderer/partial_renderer.rb
index 1509726a37..92bd0ccf91 100644
--- a/actionview/lib/action_view/renderer/partial_renderer.rb
+++ b/actionview/lib/action_view/renderer/partial_renderer.rb
@@ -308,9 +308,7 @@ module ActionView
if @collection
render_collection
else
- instrument(:partial) do
- render_partial
- end
+ render_partial
end
end
@@ -331,22 +329,26 @@ module ActionView
end
def render_partial
- view, locals, block = @view, @locals, @block
- object, as = @object, @variable
+ instrument(:partial) do |payload|
+ view, locals, block = @view, @locals, @block
+ object, as = @object, @variable
- if !block && (layout = @options[:layout])
- layout = find_template(layout.to_s, @template_keys)
- end
+ view.instance_variable_set(:@log_payload_for_partial_render, payload)
- object = locals[as] if object.nil? # Respect object when object is false
- locals[as] = object if @has_object
+ if !block && (layout = @options[:layout])
+ layout = find_template(layout.to_s, @template_keys)
+ end
- content = @template.render(view, locals) do |*name|
- view._layout_for(*name, &block)
- end
+ object = locals[as] if object.nil? # Respect object when object is false
+ locals[as] = object if @has_object
- content = layout.render(view, locals){ content } if layout
- content
+ content = @template.render(view, locals) do |*name|
+ view._layout_for(*name, &block)
+ end
+
+ content = layout.render(view, locals){ content } if layout
+ content
+ end
end
# Sets up instance variables needed for rendering a partial. This method