Tengo un CMS basado en Rails 3 que permite a los usuarios crear y modificar diseños y vistas. Estos diseños y vistas son los mismos integrados en el marco, solo respaldados por un modelo para algunas capacidades adicionales. El problema que me gustaría abordar es que estos archivos de plantilla se almacenan en caché tan pronto como se acceden al público, por lo que no es posible ver cambios en los diseños o las vistas a menos que se reinicie el servidor. Esto no ocurre en el modo de desarrollo, donde el almacenamiento en caché está deshabilitado, pero, obviamente, desactivar el almacenamiento en caché de plantillas en producción no sería bueno para el rendimiento. Borrar Memcache no parece hacer el truco. ¿Es posible borrar programáticamente la memoria caché de diseños y vistas en producción, quizás con algo así como recargar? como tenemos en la consola? ¿O estoy obligado a tener que reiniciar Passenger cada vez que alguien quiere modificar uno de estos diseños o vistas (tal vez usando el enfoque en este hilo: Rails Cache Clearing)?¿Es posible borrar de forma programática los diseños de Rails 3 y la caché de vistas?
Tenga en cuenta que no me refiero a borrar la página y los cachés de acción, que las páginas públicas confían y funcionan bien.
Definitivamente entiendo que esta no es una aplicación típica de Rails donde los cambios de diseño y vista (junto con cualquier otro código) viven en una el sistema de control de fuente y requiere un reinicio para que las modificaciones surtan efecto. De hecho, el lado de administración funciona así. Esta aplicación solo tiene ese caso de uso especial donde, idealmente, los diseños y las vistas que controlan las páginas públicas podrían cambiarse idealmente sin necesidad de reiniciar el servidor. – cmarin
@cmarin - Esto suena como un caso especial interesante. ¿Puede explicar más detalles sobre por qué necesita este requisito especial? Tal vez nos ayude a encontrar una buena respuesta para usted (es decir, tal vez exista algo que podamos señalarle). – jefflunt
Tal vez las partes de las vistas que cambian a menudo deben ser parte del sistema CMS, lo que les permite ser editadas y almacenadas en la base de datos. – heyrolled