2011-08-31 111 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