diff --git a/app/models/metadata_template.rb b/app/models/metadata_template.rb index 0e2e9c7..c59fb00 100644 --- a/app/models/metadata_template.rb +++ b/app/models/metadata_template.rb @@ -20,7 +20,7 @@ MetadataTemplate = Struct.new(:site, :document, :name, :label, :type, end def cache_version - value.hash.to_s + value.hash.to_s + values.hash.to_s end def cache_key_with_version diff --git a/app/models/site.rb b/app/models/site.rb index 0e8db8c..b053a6f 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -291,11 +291,13 @@ class Site < ApplicationRecord # @param attr [Symbol|String] El atributo a buscar # @return Array def everything_of(attr, lang: nil) - attr = attr.to_sym + Rails.cache.fetch("#{cache_key_with_version}/everything_of/#{lang}/#{attr}", expires_in: 1.hour) do + attr = attr.to_sym - posts(lang: lang).flat_map do |p| - p[attr].value if p.attribute? attr - end.uniq.compact + posts(lang: lang).flat_map do |p| + p[attr].value if p.attribute? attr + end.uniq.compact + end end # Poner en la cola de compilaciĆ³n