我在 Rails 中使用 Devise 作为身份验证解决方案,并且我有一个缓存片段:recent_users。
我希望这个片段在新用户注册、更改或删除时过期,所以我输入了我的(手动创建的)users_controller.rb
class UsersController < ApplicationController
cache_sweeper :user_sweeper, :only => [:create, :update, :destroy]
...
但是当 new 创建或更改时,我的片段不会过期。
我的 user_sweeper 包含基本处方
class UserSweeper < ActionController::Caching::Sweeper
observe User
def after_save(user)
expire_cache(user)
end
def after_destroy(user)
expire_cache(user)
end
private
def expire_cache(user)
expire_fragment :recent_users
end
end
我究竟做错了什么?