商品詳細表示機能① ~link_to~

link_to メソッドとは、リンクを作成するRailsのヘルパーメソッドです。 ビューファイルに記述できるメソッドになります。

以下は基本的な構文となります。

<%= link_to "テキスト", "リンク先のパス" %>

HTMLでリンクを作成するときはaタグを、Railsでリンクを作成するときは一般的に link_to を使います。 link_toメソッドを使うと、以下のようにaタグにコンパイルされます。

<a href="リンク先のパス">テキスト</a>

たとえばGoogleさんだと、

<%= link_to "Google","https://www.google.com/" %>

aタグにコンパイルされると、

<a href="https://www.google.com/">Google</a>

となります。

フリマアプリの場合は、複数の商品が存在し、それぞれにidが付与されます。 したがって、引数を指定するようになります。

rails routes でルーティングを確認すると、

少し見づらいですが、商品詳細ページに該当する item#showitem_path がリンク先のパスで items/id となっていることから idごとにページが存在することがわかります。

上記をふまえると、

<%= link_to item_path(item.id) do %>
  中略
<% end %>

このように記述することで目的の商品ページに遷移できるようになります。

do って何!?

上記コードのように do を記述することで、リンクの中に複数の要素やコンテンツを含めることができます。 do ~ end 内に含めたいものを記述します。

<%= link_to "Visit our site" do %>
  <strong>Click here!</strong>
<% end %>

上記の例では、"Visit our site" テキストをクリックすると、Click here! のような強調されたテキストが表示されるリンクが生成されます。

do ブロック内には、任意のHTMLやRubyコードを含めることができます。

こうすることで、柔軟なリンクの作成が可能となります。 画像を指定することも可能です。