Tengo una aplicación RoR (ruby v1.8.7; rails v2.3.5) que almacena en caché una página en el entorno de desarrollo. Esto no sería un gran problema, pero los a
elementos de la página en caché son incorrectos.
No he realizado ningún cambio en el archivo development.rb y no he agregado a sabiendas ningún comando de almacenamiento en caché a los controladores.
Intenté borrar la cookie del navegador (Firefox 3.5 en OSX) y las cachés de página para este sitio (localhost). También reinicié Mongrel. Nada parece ayudar.
¿Qué me estoy perdiendo?
fuente
rake tmp:cache:clear
podría ser lo que estás buscando.fuente
RAILS_ENV=staging bundle exec rake tmp:cache:clear
de lo contrario supongo que no va a funcionarPude resolver este problema limpiando mi caché de activos:
$ rake assets:clean
fuente
Busque una versión estática de su página en / public y elimínela si está allí. Cuando Rails 3.x almacena páginas en caché, deja una versión estática en su carpeta pública y la carga cuando los usuarios visitan su sitio. Esto permanecerá incluso después de que borre su caché.
fuente
/tmp/cache/
directorio.Si está haciendo almacenamiento en caché de fragmentos , puede romper manualmente el caché actualizando su clave de caché, así:
Versión 1
<% cache ['cool_name_for_cache_key', 'v1'] do %>
Versión 2
<% cache ['cool_name_for_cache_key', 'v2'] do %>
O puede hacer que el caché se restablezca automáticamente en función del estado de un objeto no estático, como un objeto ActiveRecord, así:
<% cache @user_object do %>
Con este método ^, cada vez que se actualiza el objeto de usuario, la caché se restablecerá automáticamente.
fuente
updated_at
se modifica, el objeto AR ya no coincidirá con la clave de caché, lo que provocará que el fragmento se vuelva a almacenar.Formas más esotéricas:
Rails.cache.delete_matched("*")
Para Redis:
Redis.new.keys.each{ |key| Rails.cache.delete(key) }
fuente