AssetPipelineでcssに画像指定
またもやAssetPipelineにやられてました。
症状
cssに記述した画像がrailsで表示されなくなったclobberしてprecompileしたら表示されなくなりました。
該当部分はpage.css.scssというファイルに以下のように記述されていました。
.frame #title{ height:91px; background-image: image-url("picture.png"); background-repeat:repeat-x; color:#FFF; }
ここで、image-urlはrailsのヘルパーで、ハッシュ値が付加された画像を表示できるようにするものです。
原因
sassコンパイルした事sassコンパイルした事が原因でした。コンパイル先のpage.cssを見ると、image-urlがそのままでした。cssの記法としてimage-urlはないのでここでエラーとなっていました。
解決
page.cssを削除page.cssを削除したら問題なく表示されるようになりました。
app/assets/application.cssにscssファイルを追加する際はどのように書けばいいか少し迷ったのですが、page.css.scssの場合も普通に
*= require page
でいいみたいです。
参考
- 作者: すがわらまさのり,前島真一,近藤宇智朗,橋立友宏
- 出版社/メーカー: 技術評論社
- 発売日: 2014/10/31
- メディア: Kindle版
- この商品を含むブログ (1件) を見る