商品詳細表示機能① ~link_to~
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#show
は item_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コードを含めることができます。
こうすることで、柔軟なリンクの作成が可能となります。 画像を指定することも可能です。