86 votes

Ruby on Rails: effacer une page en cache

J'ai une application RoR (ruby v1.8.7; rails de v2.3.5) qui est mise en cache d'une page dans l'environnement de développement. Ce ne serait pas un problème en soi, mais la page en cache est Un des éléments sont incorrectes.

Je n'ai pas procédé à des changements dans le développement.rb fichier et je n'ai pas sciemment ajouté de la mise en cache des commandes pour les contrôleurs.

J'ai essayé de compensation du navigateur (Firefox 3.5 sur OSX) cookie et page caches pour ce site (localhost). J'ai aussi redémarré Mongrel. Rien ne semble aider.

Ce qui me manque?

132voto

Apie Points 1849

Cette ligne de développement.rb assure que la mise en cache n'est pas le cas.

config.action_controller.perform_caching             = false

Vous pouvez effacer le cache avec Rails

Rails.cache.clear

Que dit - je ne suis pas convaincu que c'est un problème de mise en cache. Êtes-vous apporter des modifications à la page et de ne pas les voir reflété? Vous n'êtes pas peut-être à la recherche à la version live de cette page? Je l'ai fait une fois (blush).

Mise à jour:

Vous pouvez appeler cette commande dans la console. Êtes-vous sûr d'exécution de l'application dans le développement?

La seule alternative est que la page que vous essayez de rendre n'est pas la page qui est en cours de rendu.

Si vous regardez la sortie du serveur, vous devriez être en mesure de voir le rendu de commande lorsque la page est rendue semblable à ceci:

Rendered shared_partials/_latest_featured_video (31.9ms)
Rendered shared_partials/_s_invite_friends (2.9ms)
Rendered layouts/_sidebar (2002.1ms)
Rendered layouts/_footer (2.8ms)
Rendered layouts/_busy_indicator (0.6ms)

116voto

Karen Points 751

rake tmp:cache:clear pourrait être ce que vous cherchez.

26voto

Dan Points 859

J'ai pu résoudre ce problème en nettoyant le cache de mes ressources:

 $ rake assets:clean
 

4voto

Dave Points 174

Recherchez une version statique de votre page dans / public et supprimez-la si elle existe. Lorsque Rails 3.x met en cache des pages, il laisse une version statique dans votre dossier public et le charge lorsque les utilisateurs accèdent à votre site. Cela restera même après avoir effacé votre cache.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X