link_toの使い方
TECH::CAMPで勉強し始めて12週目。
またまた、基本を忘れているのでアウトプットして頭に焼き付けます。
今回は、これまたよく使う
link_toを使用したリンクの作成。
カリキュラムでは、
- <a>ダグは使わないようにしましょう!
- リンク先はパスを指定する方法で記載しましょう!
とあったので、/posts/index とか書きがちなところを頑張ってパスで記載します。
基本のlink_to
今回はerbで書きます。
この記載で下図のようなようなビューになります。
<a>タグと同じようになりましたね。
広範囲のlink_to
例えば、ユーザー名・ユーザー画像が並んでいて、
その範囲のどこをクリックしてもリンク先に飛べるような、
広範囲を囲うlink_toです。
クリックできるようにしたい範囲を
<%= link_to リンク先のパス do%>
<% end %>
で囲います。
基本のlink_toには無かった、「do」を付けてやる必要があります。
そしてブラウザに表示する部分はlink_toタグの中ではなく、
<%= link_to リンク先のパス do%>
<% end %>
の間に書いてやるようにします。
すると、下図の画像とユーザー名どちらをクリックしても
同じリンク先に飛ばせるので、
クリックできる範囲が広がって、使いやすくなりますね。
パスのidの指定
users_controller で
と定義している前提です。
パスの後に(@user)と記載してやることで、
どのユーザーのidかを指定することができます。
ちなみにcurrent_userのid指定なら、下記のようにも書けます。
アソシエーションを組んでいるモデルのパスを指定
投稿者のuser id を指定しています。
アソシエーション便利やなあ。
他にもパターン見つけたら追記します。
今日はここまで。