diff --git a/actionpack/lib/action_view/render/partials.rb b/actionpack/lib/action_view/render/partials.rb index 67a8ee4472065680de1703e3482b01eb6cefe78a..2a32e2428ac3ed07c049d8e05322a7b2430b7846 100644 --- a/actionpack/lib/action_view/render/partials.rb +++ b/actionpack/lib/action_view/render/partials.rb @@ -212,35 +212,34 @@ def setup(options, block) end def render - options = @options + identifier = ((@template = find_template) ? @template.identifier : @path) if @collection ActiveSupport::Notifications.instrument("action_view.render_collection", - :path => @path, :count => @collection.size) do + :identifier => identifier, :count => @collection.size) do render_collection end else content = ActiveSupport::Notifications.instrument("action_view.render_partial", - :path => @path) do + :identifier => identifier) do render_partial end - if !@block && options[:layout] - content = @view._render_layout(find_template(options[:layout]), @locals){ content } + if !@block && (layout = @options[:layout]) + content = @view._render_layout(find_template(layout), @locals){ content } end content end end def render_collection - @template = template = find_template return nil if @collection.blank? if @options.key?(:spacer_template) spacer = find_template(@options[:spacer_template]).render(@view, @locals) end - result = template ? collection_with_template : collection_without_template + result = @template ? collection_with_template : collection_without_template result.join(spacer).html_safe! end @@ -278,7 +277,6 @@ def collection_without_template(collection_paths = @collection_paths) end def render_partial(object = @object) - @template = template = find_template locals, view = @locals, @view object ||= locals[template.variable_name]