Rails 3: Истекающая кэшированная страница public / index.html - PullRequest
0 голосов
/ 20 января 2011

У меня есть следующая строка в моем файле rout.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 страница.Ребята, вы можете придумать, как удалить оба файла?

1 Ответ

3 голосов
/ 20 января 2011

Попробуйте просто передать ему путь, например:

expire_page '/index.html'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...