method

cache_collection_render

Importance_0
v5.2.3 - Show latest stable - 0 notes - Class: CollectionCaching
cache_collection_render(instrumentation_payload) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb, line 14
      def cache_collection_render(instrumentation_payload)
        return yield unless @options[:cached]

        keyed_collection = collection_by_cache_keys
        cached_partials  = collection_cache.read_multi(*keyed_collection.keys)
        instrumentation_payload[:cache_hits] = cached_partials.size

        @collection = keyed_collection.reject { |key, _| cached_partials.key?(key) }.values
        rendered_partials = @collection.empty? ? [] : yield

        index = 0
        fetch_or_cache_partial(cached_partials, order_by: keyed_collection.each_key) do
          rendered_partials[index].tap { index += 1 }
        end
      end
Register or log in to add new notes.