module ActionView::CollectionCaching
def cache_collection_render
def cache_collection_render return yield unless cache_collection? keyed_collection = collection_by_cache_keys partial_cache = collection_cache.read_multi(*keyed_collection.keys) @collection = keyed_collection.reject { |key, _| partial_cache.key?(key) }.values rendered_partials = @collection.any? ? yield.dup : [] fetch_or_cache_partial(partial_cache, order_by: keyed_collection.each_key) do rendered_partials.shift end end