我在使用 Rails 中的 Sweepers 和缓存时遇到了一些问题。
/cache 中的 .html 文件是在第一次查看时生成的。
需要时调用 Sweeper 操作。
但是,清扫器操作不会从 /cache 中删除 .html 页面
下面的代码是从我的 /controllers 和 /sweepers 目录中删除的。这两行都记录了puts
,所以我知道我们执行得很好—— expire 命令似乎没有删除文件。
有人知道我可以在哪里玩耍吗?
class WidgetsController < ApplicationController
cache_sweeper :widget_sweeper
caches_page :help
def help
render :template => '/widgets/help.html'
end
end
class WidgetSweeper < ActionController::Caching::Sweeper
observe HelpPage
def after_save(record)
puts "record "
puts record.inspect
expire_page(:controller => 'widgets', :action => 'help')
puts "ok!"
end
end