app/assets/images
以下に置いた画像をViewから参照するにはasset_path
を使えばいい。
app/assets/images/title.png
を参照したいのであれば
= image_tag asset_path("title.png")
としておけばプロダクション環境でもちゃんと参照できる(はず)。
で、このメソッドをモデルから呼ぶ方法はないのか?ってのを調べた。たとえば、プロフィール画像が設定されていなかったらデフォルト画像を出すみたいなメソッドを用意しておくとViewのコードが煩雑にならないだろうし。
いや普通はヘルパー使えばいいのかなと思うんだけど、試しに呼んでみたということで。
実はasset_path
というメソッドはActionController::Base.helpers
に定義されているので、モデルからはActionController::Base.helpers.asset_path
として参照できてしまう。
他にも色々呼べちゃうのでいざというときには覚えておくといいかも?しれない。