aboutsummaryrefslogtreecommitdiffstats
path: root/actionview
diff options
context:
space:
mode:
Diffstat (limited to 'actionview')
-rw-r--r--actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb6
1 files changed, 5 insertions, 1 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 4bc4147e1b..c353eb0b31 100644
--- a/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb
+++ b/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb
@@ -51,10 +51,14 @@ module ActionView
end
def fetch_or_cache_partial(cached_partials, order_by:)
+ rely_on_individual_cache_call = !callable_cache_key?
+
order_by.map do |key|
cached_partials.fetch(key) do
yield.tap do |rendered_partial|
- collection_cache.write(key, rendered_partial, @options[:cache_options])
+ unless rely_on_individual_cache_call
+ collection_cache.write(key, rendered_partial, @options[:cache_options])
+ end
end
end
end