Rails の Sweeper とキャッシングに問題があります。
/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