画像の挿入といえば、HTMLの場合
<img src="ファイルパス">
Railsの場合
<%= image_tag "ファイルパス", オプション %>
というのが準備されていますが、何が違うのか?
ということで、調査しました。結果、下記サイトにたどり着きました。
まとめると、
image_tagだと、アセットパイプラインの仕組みで変更された画像のファイル名に変換してimgタグを生成してくれるが、
imgタグだと、変換前(保存されてるファイル名)のファイル名で呼び出そうとしてしまうので、該当するファイルがないということで、何も表示されないといったことが起こります。
詳しく説明すると、app/assets/配下のJavaScript、CSS、そして画像はアセットパイプラインという仕組みでコンパイルされていて、画像の場合は以下のようなファイル名に変更されています。
main.png
↓アセットパイプラインの仕組みで変更されたファイル名
main-35f2b73749c6caa946cd67b9eb73bc199f56f9c03aaee1d25360af09eccf5942.png
image_tagを使うと、自動的に変更後のファイル名を呼び出してくれるので、特にこだわりがなければimage_tagでOKかな。
「アセットパイプライン」についてはまた後日。。。