class ActionView::CollectionRenderer

def render_collection_derive_partial(collection, context, block)

def render_collection_derive_partial(collection, context, block)
  paths = collection.map { |o| partial_path(o, context) }
  if paths.uniq.length == 1
    # Homogeneous
    render_collection_with_partial(collection, paths.first, context, block)
  else
    if @options[:cached]
      raise NotImplementedError, "render caching requires a template. Please specify a partial when rendering"
    end
    paths.map! { |path| retrieve_variable(path).unshift(path) }
    collection = MixedCollectionIterator.new(collection, paths)
    render_collection(collection, context, nil, nil, nil, block)
  end
end