From abe915f23777efe10f17d611bf5718ca855a0704 Mon Sep 17 00:00:00 2001 From: Olek Janiszewski Date: Fri, 16 Dec 2011 17:58:22 +0100 Subject: Fix expanding cache key for single element arrays In short: expand_cache_key(element) should not equal expand_cache_key([element]) This way a fragment cache key for an index page with only a single element in the collection is different than a fragment cache for a typical show page for that element. --- activesupport/lib/active_support/cache.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'activesupport/lib/active_support') diff --git a/activesupport/lib/active_support/cache.rb b/activesupport/lib/active_support/cache.rb index 07f5fcdeb3..6452bed506 100644 --- a/activesupport/lib/active_support/cache.rb +++ b/activesupport/lib/active_support/cache.rb @@ -90,7 +90,7 @@ module ActiveSupport def retrieve_cache_key(key) case when key.respond_to?(:cache_key) then key.cache_key - when key.is_a?(Array) then key.map { |element| retrieve_cache_key(element) }.to_param + when key.is_a?(Array) then ['Array', *key.map { |element| retrieve_cache_key(element) }].to_param else key.to_param end.to_s end -- cgit v1.2.3