Problema al expirar cache con sweepers

Hola gente, tengo un problema al tratar de expirar un cache de pagina
con
los sweepers, la figura es la siguiente:

Cuando utilizo el sweeper desde un controlador que no se encuentra bajo
un
subdirectorio, por ejemplo “BooksController” el sweeper hace su trabajo
normal, pero cuando empleo un controlador que se encuentra en un
subdiretorio, por ejemplo: “Admin::BooksController” el sweeper
simplemente
no trabajo, envio aqui el enlace al codigo de ejemplo que mande al canal
IRC
de rails en inglés: http://pastie.caboo.se/176691

Muchas gracias por su tiempo.

Buscando en la lista de Rails en Ingles, logre resolver el problema, el
asunto era que estaba especificando mal el controlador:

frontend controller

class Articulos < AplicationController
caches_page :index, show

end

backend controller

class Admin::Articulos < AplicationController
cache_sweeper :articulo_sweeper, :only => [:create, :update, :destroy]

end

Sweeper

class ArticuloSweeper < ActionController::Caching::Sweeper
def after_save(articulo)
expire_cache_for(articulo)
end

def expire_cache_for(articulo)
# expire_page :controller => ‘articulos’, :action => ‘index’ ->asi
estaba antes
# ahora:
expire_page :controller => ‘/’, :action => ‘index’

end
end

El punto era que al llamar a ‘cache_sweeper’ desde el controlador dentro
de
‘admin’, entonces estaba buscando la ruta ‘admin/articulos/index.html’
en el
directorio del cache que por defecto es ‘public’, entonces nunca lo
encontraba, ya que el archivo de cache que se generaba estaba en
‘public/index.html’ debido a que mi controlador principal es
‘articulos’,
entonces cambie la ruta del controlador en el sweeper y listo.

Saludos.

El día 7/04/08, Ruben. D. [email protected] escribió:

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs