Rails не удаляет страницу кэша / .html, когда вызывается уборщик - PullRequest
1 голос
/ 05 февраля 2011

У меня возникли некоторые проблемы с Sweepers и Caching in Rails.

.html файл в / cache создается при первом просмотре.

Действие Sweeper вызывается при необходимости.

Однако действие уборщика не приводит к удалению страницы .html из / cache

Приведенный ниже код удален из каталога my / 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

1 Ответ

0 голосов
/ 05 февраля 2011

Вы просто тестируете это, манипулируя некоторыми записями HelpPage в консоли?Похоже, вы должны повлиять на изменения в контроллере.

Я создал тестовое приложение, используя код, который вы указали выше, и запустил его с включенным кэшированием.Я создал несколько новых записей HelpPage в консоли rails и получил два сообщения журнала, но срок действия страницы не истек.

Однако, когда я создал новую HelpPage в контроллере, я получил срок действия страницы, как и ожидалось.

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