instance method
cache_key
Ruby on Rails 4.1.16
Since v3.2.22.5Signature
cache_key(*timestamp_names)
Returns a cache key that can be used to identify this record.
Product.new.cache_key # => "products/new" Product.find(5).cache_key # => "products/5" (updated_at not available) Person.find(5).cache_key # => "people/5-20071224150000" (updated_at available)
You can also pass a list of named timestamps, and the newest in the list will be used to generate the key:
Person.find(5).cache_key(:updated_at, :last_reviewed_at)
Parameters
-
timestamp_namesrest
Source
# File activerecord/lib/active_record/integration.rb, line 55
def cache_key(*timestamp_names)
case
when new_record?
"#{self.class.model_name.cache_key}/new"
when timestamp_names.any?
timestamp = max_updated_column_timestamp(timestamp_names)
timestamp = timestamp.utc.to_s(cache_timestamp_format)
"#{self.class.model_name.cache_key}/#{id}-#{timestamp}"
when timestamp = max_updated_column_timestamp
timestamp = timestamp.utc.to_s(cache_timestamp_format)
"#{self.class.model_name.cache_key}/#{id}-#{timestamp}"
else
"#{self.class.model_name.cache_key}/#{id}"
end
end
Defined in activerecord/lib/active_record/integration.rb line 55
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Integration