J'ai à peu près tout essayé, mais il semble impossible d'utiliser expire_fragment à partir de modèles ? Je sais que vous n'êtes pas supposé le faire et que c'est non-MVC, mais il doit bien y avoir un moyen de le faire.
J'ai créé un module dans lib/cache_helper.rb avec toutes mes aides d'expiration, dans chacun d'eux, il y a juste un tas d'appels à expire_fragment. J'ai tous mes balayages de cache sous /app/sweepers et j'ai un "include CacheHelper" dans le contrôleur de mon application. l'application lorsqu'il est appelé par les contrôleurs fonctionne bien.
Ensuite, j'ai des démons externes et surtout des tâches cron récurrentes qui appellent une tâche rake qui appelle une certaine méthode. Cette méthode effectue un certain traitement et entre des entrées dans le fichier modèle, après quoi je dois faire expirer le cache.
Quelle est la meilleure façon de procéder, car je ne peux pas spécifier la balayeuse de cache dans le modèle. Les observateurs directs semblent être la meilleure solution, mais ils se plaint du fait que expire_fragment n'est pas défini etc. etc. J'ai même essayé d'inclure les classes de mise en cache d'ActionController dans l'observateur mais cela n'a pas fonctionné. J'aimerais avoir des idées sur la manière de créer une solution pour ce problème. Merci.