Rails Diary

プログラミングの学習記録です。

「link_to 変数」で詳細画面に遷移

ブログ投稿数がいたずらに増えるのが嫌だったのですが、一つの課題から得られる知識が多くて溜めていると消化不良を起こしそうなので簡単に残しておきます。

Railsの内部構造から紐解いていこうと思ったものの、コードが全く理解できずに挫折したため、自分の中でざっくり整理するための備忘録。

link_to

想定

ある投稿のタイトルリンクからその詳細ページに飛びたいとき

思考停止で下記の書いてみるとエラーになってしまった。

<%= link_to @post.title, post_path %>

1.12.2 link_to Railsガイド

Railsガイドを参考に以下のように書き換える。

# ブロックを使用

<%= link_to @post do %>
  <%= @post.title %>
<% end %>
link_to "文字列", @post
#=> <a href="/posts/1">文字列</a>

post_path(@post)みたいに書いても/posts/:idリンクが生成される。

post_pathというURLヘルパーメソッド(詳細画面へのURLを生成する)に特定の変数を引数として渡すことで、具体的にどの投稿の詳細画面に遷移するのか指定している。

prefixは接頭辞という意味 post_pathのpost部分は接頭辞

link_to "文字列", @post

ある投稿を取得した変数@postを表記することで、その投稿の詳細ページに飛ばされる。 理屈は理解できないがニュアンスなら分かるみたいな感じがする😓

またしばらくしたらこんがらがると思う。

ActionView::Helpers::UrlHelper

【Rails】 link_toの使い方をマスターして簡単にリンクを作成しよう! | Pikawaka

RailsGithub

rails/url_helper.rb at 984c3ef2775781d47efa9f541ce570daa2434a80 · rails/rails · GitHub