这段代码的目的是什么?我在lib / act_as_audited / audit_sweeper.rb下的audited-1.1.1插件中找到了它
class AuditSweeper < ActionController::Caching::Sweeper #:nodoc:
def before_create(audit)
audit.user ||= current_user
end
def current_user
controller.send :current_user if controller.respond_to?(:current_user, true)
end
end
ActionController::Base.class_eval do
extend CollectiveIdea::ActionController::Audited
cache_sweeper :audit_sweeper
end
Audit.add_observer(AuditSweeper.instance)
cache_sweeper用于什么?
答案 0 :(得分:0)
cache_sweeper
负责在任何对象更改时使缓存过期。就像你已经缓存了一个用户并假设你更新用户的配置文件一样,那么旧的缓存应该会过期并且应该执行新的写操作。您可以在APIDock上找到更多详细信息:
http://apidock.com/rails/ActionController/Caching/Sweeping
编辑:
这就像expires_in
一样,我们在这个时间内定义它应该到期的时间。您可以在此处指定需要过期的操作,例如edit, update, destroy
。