単純なキャッシング(ruby 1.9.2、rails 3.1.3、開発環境)に問題があります:
development.rb:
config.action_controller.perform_caching = true
config.action_controller.cache_store = :file_store, 'tmp/cache'
config.action_controller.page_cache_directory = 'public/cache'
スイーパー:
class CacheSweeper < ActionController::Caching::Sweeper
observe Article, Photo, Advertisement
def after_save(record)
expire_home
end
...
private
...
def expire_home
expire_page(:controller => '/homes', :action => 'index')
end
end
コントローラー:
class HomeController < ApplicationController
caches_page :index
cache_sweeper :cache_sweeper
def index
....
ページは正しいディレクトリにキャッシュされ、アクションは必要に応じてスイーパーアクションをトリガーしますが、ページの有効期限は切れておらず、サーバーはキャッシュされたページをデフォルトの場所から取得しようとしています。
cache: [GET /] miss
なぜ何かアイデアはありますか?構成に問題がありますか?