2011-11-19 19 views
6

Mis archivos js.erb no se regeneran incluso cuando reinicio el servidor de desarrollo. ¿Hay alguna manera de forzar la canalización de activos para regenerar todos los activos de javascript cada vez que reinicio el servidor?Asset pipeline force js.erb recompilación

Si cambio el archivo fuente .js.erb real, entonces recompila bien, pero el código se extrae de la base de datos, leyendo los datos sin identificar que podrían cambiar entre los reinicios del servidor.

Respuesta

10

Llamada tardía aquí, pero habiendo tenido este problema por todos lados, y estando REALMENTE molesto por ello, cavó un poco. Aquí está mi solución:

En reiniciar el servidor, rm -rf tmp/cache/*

Que se lleve el aire del SCSS y otros activos en caché y forzar una recompilación.

Puede ejecutar rake assets:clean si prefiere o está utilizando Rake para reiniciar su servidor.

Obviamente, haciendo esto retrasa el reinicio del servidor en un poco, pero puede valer la pena para la eliminación de este importante punto de dolor ...

+0

¡Agradable! Esto funciona. – spike

1

Piense en cualquier ruby ​​que ejecute dentro de la cartera de activos como antes de que se inicie su servidor, ya que eso es efectivamente lo que sucede en producción con el paso de precompilación de activos (y en desarrollo se actualizará si los archivos cambian, como ve descrito). En este caso, querrá refaccionar ese código en un controlador y algo en su aplicación/directorio de vistas (html.erb/js.erb) para que su código se ejecute en cada solicitud.

+0

Creo que estás interpretando mal mi pregunta. Reiniciaremos el servidor si los datos de inicialización de los que JS depende cambian alguna vez (es algo estático como país => mapeos de estado). Mi problema es que * incluso en los reinicios del servidor * en dev, el JS no se regenera. Tengo que cambiar el archivo fuente real (supongo que está haciendo algún tipo de hashing) para que lo recoja. – spike

+0

Sí - lo grok ahora. ¿Tiene config.assets.debug establecido en verdadero en su entorno de desarrollo? Suponiendo que no sea así, puede consultar https://github.com/wavii/rails-dev-tweaks para obtener algunas pistas sobre qué está haciendo rails bajo el capó, aunque no creo que esto resuelva su problema. ya que está orientado a la compilación de activos con menos frecuencia. –

+0

sí, 'config.assets.debug' está configurado, gracias por el recurso voy a hacer un poco más de excavación – spike

Cuestiones relacionadas