17

La versione di rilascio di Rails 3.1 presenta alcuni problemi strani con la precompilazione di un file manifest sass con l'estensione scss. La cosa strana è che il file manifest predefinito application.scss compila bene e lo vedo sotto public/assets/.Precompilazione di un file manifest .scss utilizzando la pipeline di risorse di Rails 3.1

Tuttavia, quando provo a compilare i miei file manifest personalizzati, non viene creato nulla. Ho abilitato l'opzione di precompilazione nella configurazione di produzione.

config.assets.precompile += %w(user.scss admin.scss) 

Sto eseguendo correttamente il compito di precompilazione del rake per quanto ne so.

rake assets:precompile RAILS_ENV=production 

E forse questo aiuta. Quando creo due nuovi file manifest con l'estensione css anziché scss e richiedono i file scss originali in essi, questi nuovi file manifest vengono onorati e compilati correttamente. Perché lo application.scss ottiene questo trattamento speciale e non altri file manifest manifest?

+0

Buona domanda, vorrei conoscere la risposta. – Andrew

+0

nessun motivo per non accettare la risposta qui sotto? – tee

+0

Non proprio, solo che non ho testato la tua soluzione da quando mi sono trasferito su altre cose. – Anurag

risposta

27

Includere le compilati i nomi dei file nel proprio elenco precompilare:

config.assets.precompile += %w(user.css admin.css) 

Inoltre, si consiglia di rinominare i file originali in app/assets/stylesheets per includere l'estensione compilato nei nomi dei file originali in modo che sia chiaro che cosa sta succedendo on:

user.scss -> user.css.scss 
admin.scss -> admin.css.scss 
+0

Buon lavoro! Grazie – abhijit

-2

Ho il sospetto che potrebbe essere un errore.

I file application vengono considerati come file principali per un progetto predefinito. L'estremità che termina con .css e .js è inclusa nell'elenco di precompilazione per impostazione predefinita.

Il comportamento che si descrive (si manifesta con un'estensione .css) è quello corretto.

Problemi correlati