diff options
author | Claire <claire.github-309c@sitedethib.com> | 2021-03-18 00:41:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-18 00:41:32 +0100 |
commit | 5027abecd1e5e511064de75fb5248139e1c8fe23 (patch) | |
tree | 52325b75c25018397019ffb41593109b52683ea8 /app/controllers/concerns | |
parent | 43eff898a0b0f31aaf042d9d387aaece2627a01d (diff) |
Fix cache_collection crashing when given an empty collection (#15921)
* Fix cache_collection crashing when given an empty collection * Add tests
Diffstat (limited to 'app/controllers/concerns')
-rw-r--r-- | app/controllers/concerns/cache_concern.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/app/controllers/concerns/cache_concern.rb b/app/controllers/concerns/cache_concern.rb index 3fb4b962a..05e431b19 100644 --- a/app/controllers/concerns/cache_concern.rb +++ b/app/controllers/concerns/cache_concern.rb @@ -31,7 +31,9 @@ module CacheConcern def cache_collection(raw, klass) return raw unless klass.respond_to?(:with_includes) - raw = raw.cache_ids.to_a if raw.is_a?(ActiveRecord::Relation) + raw = raw.cache_ids.to_a if raw.is_a?(ActiveRecord::Relation) + return [] if raw.empty? + cached_keys_with_value = Rails.cache.read_multi(*raw).transform_keys(&:id) uncached_ids = raw.map(&:id) - cached_keys_with_value.keys |