2011-08-31 12 views
14

Después de migrar a los carriles de rieles 3.1.0 3.1.0.rc6, tengo algunos mensajes de error cuando se ejecuta assets:precompile tarea como esta:Asciende a Rails 3.1.0 de RC6, precompilación activo falla

$ 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) 

Intenté agregar config.assets.precompile << 'ie-spacer.gif' a config/application.rb, pero todavía falla.

La línea en jquery.gritter.css.scss es:

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

y yo probamos:

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

todos fallaron con ie-spacer.gif isn't precompiled.

Respuesta

27

que tiene que hacer

config.assets.compile = true 

durante los activos: la tarea de precompilación.

Parece ser un error en los rieles 3.1.

+1

De hecho, parece que un error. Esta solución también funcionó para mí. – whitequark

+0

No creo que sea un error, ya que una nueva aplicación de rieles generada con Rails 3.1.0 tendrá esta configuración configurada para usted. –

+2

Es un error en Rails 3.1. También puede actualizar a la rama Rails 3-1-stable, que incluye esta corrección: https://github.com/rails/rails/pull/2768/files –

0

descubrí que esto es debido a

config.assets.compress = false 

que está mal, si usted está tratando de compilar con

bundle exec rake assets:precompile RAILS_ENV=production 

En efecto, debe lanzar una mejor error de embargo.

1

que necesitaba usar tanto

config.assets.compile = true 
config.assets.digest = true 
Cuestiones relacionadas