class ActionView::PartialRenderer

def collection_with_template

def collection_with_template
  view, locals, template = @view, @locals, @template
  as, counter, iteration = @variable, @variable_counter, @variable_iteration
  if layout = @options[:layout]
    layout = find_template(layout, @template_keys)
  end
  partial_iteration = PartialIteration.new(@collection.size)
  locals[iteration] = partial_iteration
  @collection.map do |object|
    locals[as]        = object
    locals[counter]   = partial_iteration.index
    content = template.render(view, locals)
    content = layout.render(view, locals) { content } if layout
    partial_iteration.iterate!
    content
  end
end