Published on

Railsでjpegだと404 not foundになり画像が表示されないときの解消方法

Authors
  • avatar
    Name
    ssu
    Twitter

Railsのimage_tagで画像をjpegで表示すると、localでは表示されるんですが 本番環境では表示されないときの解消方法を紹介します。

原因は、下記に書いてあるとおりで railsのsprocketsがバージョン3.0からjpegがあった際に自動でjpgに拡張子を書き換えてしまうため、 そもそもファイルがない状態になってしまうのが原因です。

From 3.0, JPEG are automatically converted to .jpg (both with actual precompilation and sandbox precompile errors). If you have something like image_tag('image.jpeg'), it breaks with the AssestNotPrecompiled error. Renaming the file to image.jpg will fix it. -- <cite>JPEG extension is now forced to JPG #304</cite>

解決方法としては、jpegの拡張子をjpgのものにしたり他の拡張子にするのが 一番簡単で安全な方法になります。

まさか、勝手に拡張子が変えられて、not found 404になっているなんておもいませんでした。 railsでjpegを使う際は気をつけてください。

参考: JPEG extension is now forced to JPG #304