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で実行かな。