Rails

Sass内で使っている画像がprecompileされない

More than 5 years have passed since last update.

Railsを使って開発しているときに、Sass内の background-image などで画像を参照している場合、
rake assets:precompile時にその画像がpublic/以下に生成されず、production環境で画像がなくなる、ということがあって困っていました。

そんなときに、sass-railsimage-urlというhelperを提供していることを知りました。

// これを
background-image: url('/assets/logo.png')

// こうする
background-image: image-url('logo.png')

// data-urlとして埋め込みたい場合は
// こうする
background-image: asset-data-url("logo.png")

こうすることでprecompile時に自動的にpublic/以下に画像を生成してくれてハッピーになれます。

なぜ知らなかった俺…