从rc6升级到Rails 3.1.0,资产预编译失败

从Rails 3.1.0.rc6升级到Rails 3.1.0之后,运行assets:precompile时出现了一些错误消息assets:precompile任务如下:

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

我尝试将config.assets.precompile << 'ie-spacer.gif'config/application.rb ,但它仍然失败。

jquery.gritter.css.scss的行是:

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

我试过了:

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

所有失败的ie-spacer.gif isn't precompiled

你必须做

 config.assets.compile = true 

资产期间:预编译任务。

似乎是rails 3.1中的一个错误。

我需要同时使用它们

 config.assets.compile = true config.assets.digest = true 

我发现这是由于

 config.assets.compress = false 

哪个是错的,如果你正在尝试编译

 bundle exec rake assets:precompile RAILS_ENV=production 

它确实应该抛出更好的错误。