aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'actionview/lib/action_view/renderer')
-rw-r--r--actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb b/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb
index e13943499c..e6d57b802e 100644
--- a/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb
+++ b/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb
@@ -18,11 +18,12 @@ module ActionView
cached_partials = collection_cache.read_multi(*keyed_collection.keys)
@collection = keyed_collection.reject { |key, _| cached_partials.key?(key) }.values
- rendered_partials = @collection.any? ? yield.dup : []
+ rendered_partials = @collection.any? ? yield : []
+ index = 0
keyed_collection.map do |cache_key, _|
cached_partials.fetch(cache_key) do
- rendered_partials.shift
+ rendered_partials[index].tap { index += 1 }
end
end
end