【Rails】link_toの中に画像と文章を入れる
達成したいこと
Railsでタグを生成することでおなじみ、link_toメソッドの中に画像と文章を混載したい。
link_toの基本的な使い方
link_to (リンクテキスト等), (リンク先)
ちなみに画像の表示にはimage_tagメソッドを使います。sizeのオプションはほぼニコイチに使ってます。
image_tag (イメージurl), size:"100x100"
DBに紐付けられた画像は簡単
Railsでよく用いられるgemであるところのcarrierweveで画像をdbで管理している場合は通常のインスタンス変数を呼び出すように使えるので悩む必要がありません。
- if current_user.image.thumb40.url.present? = link_to "#{user.image.url} #{user.name}", user
上のような書き方でuserイメージとユーザー名を並列させることが可能。
やってしまった間違い
= link_to "#{image_tag("/assets/image.jpg", size: '40x40')} #{@user.name}", (リンク先)
構文エラーになりました。
成功した方法
= link_to (リンク先) do = image_tag("/assets/image.jpg", size: '40x40') p = @user.name
doを使ったブロックで書くと上手くいきました。あとはclassをつけて調整すれば完成です。