2011-08-31 19 views
14

dopo l'aggiornamento a Rails 3.1.0 da Rails 3.1.0.rc6, ho ricevuto alcuni messaggi di errore quando si esegue assets:precompile compito come questo:Aggiornamento a Rails 3.1.0 da RC6, patrimoniale precompilare fallisce

$ RAILS_ENV=production RAILS_GROUPS=assets rake assets:clean tmp:clear assets:precompile 
rake aborted! 
ie-spacer.gif isn't precompiled 
    (in app/assets/stylesheets/jquery.gritter.css.scss) 

Tasks: TOP => assets:precompile 
(See full trace by running task with --trace) 

Ho provato ad aggiungere config.assets.precompile << 'ie-spacer.gif' a config/application.rb, ma non riesce ancora.

La linea in jquery.gritter.css.scss è:

background: asset_url('ie-spacer.gif', image); 

e ho provato:

background: asset_path('ie-spacer.gif', image); 
background: image_url('ie-spacer.gif'); 
background: image_path('ie-spacer.gif'); 

tutti falliti con ie-spacer.gif isn't precompiled.

risposta

27

quello che dovete fare

config.assets.compile = true 

durante le attività: compito precompilare.

Sembra essere un bug nei binari 3.1.

+1

In effetti, sembra come un insetto. Questa soluzione ha funzionato anche per me. – whitequark

+0

Non penso che sia un bug come una nuova applicazione rota generata con rails 3.1.0 avrà questa configurazione configurata per te. –

+2

Si tratta di un bug in Rails 3.1. È inoltre possibile eseguire l'aggiornamento al ramo 3-1 stabile, che include questa correzione: https://github.com/rails/rails/pull/2768/files –

0

ho scoperto questo è dovuto al

config.assets.compress = false 

che è sbagliato, se si sta cercando di compilare con

bundle exec rake assets:precompile RAILS_ENV=production 

Occorre, infatti, lanciare un errore meglio però.

1

avevo bisogno di usare sia

config.assets.compile = true 
config.assets.digest = true 
Problemi correlati