読者です 読者をやめる 読者になる 読者になる

Railsのproduction環境における画像の置き場所で迷走

これまで、app/assets/images/以下に画像を設置して開発を行っていたのですが、本番環境だと上手く画像が表示されなかったため、その辺りに関するメモ。

<img src="/assets/image.png">

今までの画像パス指定スタイルはこうでした。
しかし、これだとproduction環境で実行した場合、上手く画像が表示されませんでした。

どうやらRails4から、assets:precompileを行った際に、digest無し版の画像が生成されなくなったため、この指定法ではダメになってしまったらしいです。
※digestってのはファイル名についてる-以降のゴミみたいなやつ。

image-dea5faf5b01f0665c8714628f2a80eb3.png

というわけで、画像ファイルはpublic/assets以下に移動して、とりあえず解決ということに。

参考によると、public/assets以下に画像を置いた場合トラブルが発生する恐れがあるみたいなので、詳細は要検証。
public/imagesにパスを書き直すのが面倒なのでとりあえずは放置の方向で!

参考
Rails4ではbackground:url("assets/hoge.png")の書き方は動かない話 - Qiita