Я только начал работать с ActiveResource и решил кэшировать несколько битов модели, чтобы не переставать работать с API. Хорошо, хорошо.
Я изучил устаревшие кеши и решил внедрить свипер (чего мне еще не приходилось делать). Это не работает.
AR модель:
class Myresource < ActiveResource::Base
extend ActiveModel::Callbacks
define_model_callbacks :update
"stuff"
def current
Rails.cache.fetch("/key/#{self.id}", :expires_in => 5.minutes) do
Myresource.find(ID)
end
end
end
Sweeper:
class MyresourceSweeper < ActionController::Caching::Sweeper
observe Myresource
def after_update(myresource)
expire_cache_for_myresource
end
private
def expire_cache_for_myresource
Rails.cache.delete '/key/myresource.id'
end
end
Контроллер:
cache_sweeper :myresource_sweeper
Так что, немного поработав с AR, кешами и Sweepers, я не могу понять, где искать различные комбинации вещей. Я могу установить и истечь из консоли ресурс, но в приложении устанавливается кеш, но я ничего не делал, вызывая удаление.
Предложения