2013-05-24

rails3.2でサブディレクトリにデプロイしたら画像が出なかったとき

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
やっと、少しずつrailsの3.2を使うようになってきました。

assetがまだ慣れていないです。

以下のような感じでスタイルシートで画像を利用するにしてみました。

div.actions a.new {
  background-image: image-url('add.png');
}

開発環境では問題なく利用できていたので
本番環境にデプロイしてみました。

デプロイ先は、
/app
のようにサブディレクトリの下です。

本番環境では利用する際に

bundle exec rake assets:precompile

とassetをプリコンパイルして、いざ試してみたら画像が表示されません。

コンパイルされたスタイルシートをみたら以下のようになっていました。

div.actions a.new {
  background-image:url(/assets/add.png)
}

/appが現れていません!

で調べてみたら、以下のようにRAILS_RELATIVE_URL_ROOTをつけてプリコンパイルすればOKでした!

bundle exec rake assets:precompile RAILS_RELATIVE_URL_ROOT=/app

ちゃんと無事に/appが現れました。

div.actions a.new {
  background-image:url(/app/assets/add.png)
}
コメントを投稿