プログラミング的なSomething

プログラミング的なSomething

ITエンジニア(?)目線で生活・自転車・トレーニング話を綴ります

image_tagが使えなかったのでエラー内容を調べてみた

Rails3をシコシコ触っておりますがimage_tagを使用したところエラーが発生。
ハマりそうな内容だったのでメモ替わりにエントリを立てます。

やりたいこと

オサレなサムネとページングを作りたいのでimage_tagは当たり前に使いたいので、エラーを解消したい。

コードとエラー内容

■コード

<div id="main"> 
  <%= @msg %>                                                                                                                        
  <%= image_tag 'hogehoge.jpg' %>                                                                       
</div>

■エラー内容

ActionController::RoutingError (No route matches [GET] "/assets/hogehoge.jpg")

解決策

最初はルーティングを疑ったんですが、どうも違うらしい。
public/imagesにファイルを格納していればOKという情報もありましたが、うまくいかず。
結局、ここのサイトruby - rails 3.1 ActionController::RoutingError (No route matches [GET] "/assets/rails.png"): - Stack Overflowを参考にして

rake assets:precompile

を実行後、生成されたpublic/assets、あるいはapp/assets/images内にファイルを保存すればエラー解消です。
なぜにassetsフォルダがなかったのかは調べないといけませんが、この情報が日本語ページだとヒットしないので、少しは役に立つかな。ツッコミ歓迎ッス!


次はDBで実行かな。