2010-06-01 7 views
1

Nous utilisons Rails 2.3.2, Ruby 1.8 & memcache.Observateur ne pas effacer le cache dans Rails 2.3.2 - Aidez s'il vous plaît

Dans mon contrôleur Posts J'ai:

cache_sweeper Company::Caching::Sweepers::PostSweeper, :only => [:save_post] 

J'ai créé le module suivant:

module Company 
    module Caching 
    module Sweepers 

     class PostSweeper < ActionController::Caching::Sweeper 
     observe Post 

     def after_save(post) 
      Rails.cache.delete("post_" + post.permalink) 
     end 
     end 

    end 
    end 
end 

mais lorsque la méthode save_post est invoquée, le cache est jamais supprimé. En espérant que quelqu'un puisse voir ce que je fais de mal ici. Merci.

Répondre

0

Si l'action dans le contrôleur est appelée save_post, votre méthode de balayage doit s'appeler after_save_post(post).

0

probablement vous n'avez pas ajouter la balayeuse dans votre chemin de charge

config.load_paths += %W(#{RAILS_ROOT}/app/models/cache) 

où le répertoire est l'endroit où se trouvent vos balayeuses.