ヨージとプログラミング

プログラミング勉強の記録

【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をつけて調整すれば完成です。