[Ror-es] Cache sweepers en los callbacks de las asociaciones

Daniel Rodriguez Troitiño notzcoolx at yahoo.es
Tue Mar 13 11:08:37 GMT 2007


On 3/13/07, Fernando Blat <ferblape at gmail.com> wrote:
> Hola Daniel,
>
> la verdad es que yo también voy a tener que resolver una situación
> similar en breve, aunque aún no me he puesto, sin embargo ya he mirado
> alguna cosita.
>
> Los callbacks after_add / destroy son propios de la asociación, no de
> los callbacks "típicos" de ActiveRecord, por eso parece que los
> observers no le hagan caso.
>
> Sin embargo sí que lo puedes invocar en la definición de la relación
>
> has_and_belongs_to_many :projects, :after_add => :sweep_my_cache
>
> Y ahí me he quedado, así que me uno a la petición popular de ayuda.
>
> --
> Fernando Blat
> blog > http://www.inwebwetrust.net

Sí, he intentado ese camino, y se llama al after_add, pero desde el
modelo no se puede invocar a expire_page (es parte de
ActionController), por lo que habría que eliminar la página a mano, o
reproducir el funcionamiento de expire_page (que tampoco es tan
complicado), o hacer un include del módulo Page (aunque creo que en
este caso sólo podría utilizar cadenas con rutas y no hashes
describiendo una ruta).

Muchas gracias de cualquier forma, a ver si alguien más se ha cruzado
con el problema y ha conseguido otra solución.


More information about the Ror-es mailing list