2011-08-31 90 views
14

我从Rails的3.1.0.rc6升级到Rails的3.1.0后,我跑assets:precompile任务这样的时候得到了一些错误信息我尝试将config.assets.precompile << 'ie-spacer.gif'添加到config/application.rb,但仍然失败。升级到Rails从RC6 3.1.0,资产预编译失败

线在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

回答

27

你有资产在做

config.assets.compile = true 

:预编译任务。

似乎是rails 3.1中的一个bug。

+1

事实上,它看起来像一个bug。这种解决方法也适用于我。 – whitequark

+0

我不认为这是一个错误,因为使用rails 3.1.0生成的新rails应用程序将为您设置此配置。 –

+2

这是Rails 3.1中的一个错误。您也可以升级到包含此修正的rails 3-1-stable分支:https://github.com/rails/rails/pull/2768/files –

0

我发现这是由于

config.assets.compress = false 

哪项是错误的,如果你想用

bundle exec rake assets:precompile RAILS_ENV=production 

编译它确实应该抛出虽然一个更好的错误。

1

我需要同时使用

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