0
0
Fork 0

Fix cache_collection crashing when given an empty collection (#15921)

* Fix cache_collection crashing when given an empty collection

* Add tests
This commit is contained in:
Claire 2021-03-18 00:41:32 +01:00 committed by GitHub
parent 43eff898a0
commit 5027abecd1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 65 additions and 2 deletions

View file

@ -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