2013-05-03 14 views
18

Ho iniziato lo sviluppo di applicazioni per binari semplici. Dopo diverse ore di lavoro ho notato che in qualche modo il css eliminato viene ancora applicato alle pagine web.Che cosa fa esattamente l'impostazione "config.assets.debug"?

Al fine di risolvere il problema che ho eseguito le seguenti azioni più volte:

  1. Stop/Start del server
  2. uso guide del server
  3. server di uso Torquebox
  4. cache di eliminazione del browser

ma nulla cambia. Era molto strano - le nuove definizioni di CSS sono state applicate, ma quelle che ho cancellato erano ancora lì. Così, ho rinunciato e ho deciso di creare un nuovo progetto.

Ho installato il nuovo progetto (il suo scaffold è uguale al primo) e quando apro una delle viste, sono stati applicati anche gli stili del vecchio progetto. Ho deciso di guardare di nuovo in http://guides.rubyonrails.org/asset_pipeline.html e scoprire che l'impostazione

#Expands the lines which load the assets 
config.assets.debug = false 

risolve il problema. Ma cosa sta facendo esattamente questa opzione? Perché i vecchi progetti css sono stati applicati quando era vero?

+0

Penso che sia chiaramente indicato nei documenti http://guides.rubyonrails.org/asset_pipeline.html#turning-debugging-off, sebbene il tuo caso sia molto strano. –

risposta

27

L'effetto di questa opzione è ben descritto in this post, ma lo riepilogo anche qui. Il valore della modifica config.assets.debug si trova in un compromesso tra il tempo di caricamento della pagina in fase di sviluppo e la facilità di debug.

In sostanza:

config.assets.debug = true: beni sono serviti individualmente, organizzato proprio come li vedete in fase di sviluppo. Le lingue preelaborate come SASS o CoffeeScript continueranno a essere visualizzate come lingue di destinazione (ad esempio, CSS e JS, rispettivamente).

config.assets.debug = false: le risorse sono raggruppate in file come application.css e application.js. Probabilmente le tracce di stack degli errori non avranno più il numero di linea corretto ed è più difficile mapparle di nuovo al codice originale.