Compassでimage-url
を使う場合に、画像が変更されたらキャッシュを読み込まずにきちんと表示が変わるように用意されているのがasset_cache_buster
という仕組み。
ところがCompassのドキュメントに書かれている方法だと画像ファイルのタイムスタンプをGETパラメーターとして付ける形になるので、複数人で開発していると何度も変更が発生する。リポジトリからダウンロードしてきたタイミングにも依存してしまうし。
なのでファイルのMD5ハッシュを設定するようにする。config.rbに以下を追記。
config.rb
# Increment the deploy_version before every release to force cache busting.
deploy_version = 1
asset_cache_buster do |http_path, real_path|
if File.exists?(real_path)
Digest::MD5.hexdigest(real_path.read)[0..7]
else
"v=#{deploy_version}"
end
end