2011-10-02 11 views
15

¿Hay alguna manera de forzar la regeneración de los activos en cada solicitud cuando se utiliza la canalización de activos de Rails 3.1?¿Es posible forzar la generación de activos con Rails Asset Pipeline?

Tengo problemas para que el sistema recoja los cambios en los archivos cuando se usa Less (menos raíles) con una serie de parciales y archivos mixin. Si pudiera forzar al sistema a generar en cada solicitud, sería mucho más productivo.

Respuesta

2

Lo resolví.

El archivo master.less (como en el archivo principal menos que coordina los otros archivos incluidos) necesitaba tener las directivas de canalización agregadas.

Así que en mi caso, application.css contiene:

/* 
*= require html5reset-1.6.1 
*= require master 
*/ 

Y master.css.less contiene:

/* 
*= depend_on mixins 
*/ 
@import "mixins"; 
+0

Debe enfatizar que la parte importante es "depend_on" :) –

1

Tienes que ejecutar tu servidor en el entorno development. Creo que también puedes usar algo como config.cache_classes = false en el archivo de configuración de tu entorno actual.

+0

Estaba haciendo eso, pero resulta que mi problema fue causado por un problema ligeramente diferente. Gracias. –

11

puede restablecer la caché de activos con

rake tmp:cache:clear 
+0

La automatización sería preferible. –

+0

Tendría que poner este comando en un conjunto de scripts para ejecutarlo en cualquier punto en el que quiera automatizarlo. No puedo proporcionar una sugerencia de automatización sin más información. –

30

Para forzar una regeneración completa de todos los activos, use:

rake assets:clobber assets:precompile 

muy útil cuando asset_sync no está jugando limpio con usted ...

Sé que esto no se puede ayudar, pero es de esperar que hará que sea más fácil para otra persona para encontrar la respuesta.

+0

Este fue el único que funcionó para mí. ¡Gracias! –

Cuestiones relacionadas