2011-10-02 3 views
15

Esiste un modo per forzare la rigenerazione delle risorse ogni richiesta quando si utilizza Rails 3.1 Asset Pipeline?È possibile forzare la generazione di asset con Rails Asset Pipeline?

Ho problemi nel far sì che il sistema capti le modifiche ai file quando si utilizza Less (less-rails) con una serie di partial e mixin file. Se potessi forzare il sistema alla generazione su ogni richiesta, sarei molto più produttivo.

risposta

2

L'ho risolto.

Il file master.less (come nel file meno principale che coordina gli altri file include) necessario per aggiungere le direttive della pipeline.

Quindi, nel mio caso, application.css contiene:

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

E master.css.less contiene:

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

È necessario sottolineare che la parte importante è "depend_on" :) –

1

È necessario eseguire il server nell'ambiente development. Penso che tu possa usare anche qualcosa come config.cache_classes = false nel file di configurazione del tuo ambiente corrente.

+0

Lo stavo facendo, ma ho scoperto che il mio problema era causato da un problema leggermente diverso. Grazie. –

11

È possibile ripristinare la cache asset con

rake tmp:cache:clear 
+0

È preferibile eseguire l'autocombustione. –

+0

Dovresti inserire questo comando in un set di script da eseguire in qualsiasi punto in cui desideri automatizzarlo. Non posso fornire un suggerimento di automazione senza ulteriori informazioni. –

30

Per forzare una completa rigenerazione di tutte le risorse utilizzare:

rake assets:clobber assets:precompile 

Molto utile quando asset_sync non sta giocando giusto con te ...

So che questo non può aiutare, ma speriamo che sarà più facile per qualcun altro per trovare la risposta.

+0

Questo è stato l'unico che ha funzionato per me. Grazie! –