我的 routes.rb 文件中有以下行。
root :to => "portfolio#index"
我将索引页面缓存如下:
class PortfolioController < ApplicationController
caches_page :index
def index
@portfolio = Portfolio.where("featured = ? AND enabled = ?", false, true)
end
end
PortfolioSweeper.rb
class PortfolioSweeper < ActionController::Caching::Sweeper
observe Portfolio
def after_save(portfolio)
expire_cache(portfolio)
end
def after_destroy(portfolio)
expire_cache(portfolio)
end
private
def expire_cache(portfolio)
expire_page :controller => 'portfolio', :action => 'index'
end
end
正在发生的事情是expire_page
仅删除 /public/portfolio.html 页面,但不删除 /public/index.html 页面。你们能想出一种删除这两个文件的方法吗?
答案 0 :(得分:3)
尝试将路径传递给路径,例如:
expire_page '/index.html'