アプリで使う画像の読み込み、部分テンプレート読み込み

link_to image_tag("logo.png"), root_pathみたいにimagesの画像をリンクにしたい時にimages以下のlogoフォルダに入れてた場合は

link_to image_tag("logo/logo.png"), root_pathみたいに書くよ。

画像名だけとかapp/assets/images/logo/logo.pngはエラーになるからね。

アセットコンパイルが読みにいってくれるのがimagesフォルダだからそこからのルートを書くって認識でいいかな。

普段そのままimagesに画像入れて使う時はファイル名だけなのもそのためだと考えれば辻褄合うし。

 

ちなみに部分テンプレレート読み込み時は同じフォルダに入ってればそのままでいいのはわかると思うけど、別フォルダのviewファイルを指定する時はviewからの相対パスを書かないとダメ。だからdevise関係の部分テンプレートをdeviseフォルダ内のregistrationsとかに入れてたら同じdeviseファイル内のsessionsフォルダで読みこもうとした場合でもviewフォルダの下にあるdeviseからdevise/ registrations/headerとか書かないとダメ。