ざっくりん雑記

プログラミングで忘れそうなことをひたすらメモる

Rails - link_toでブロックを囲む

リストの要素全体をaタグで囲みたいパターン

リスト一つ一つのブロックをaタグで囲んでクリッカブルにしたい場合はよくある。下のような感じ。

<a href="url">
  <div class="content">
    <div class="inner-left">
      ...
    </div>
    <div class="inner-right">
      ...
    </div>
  </div>
</a>

link_toメソッド

結論から言うと、カッコつき link_to の後ろに do をつけて、 閉じ end で、ブロックを囲める。

<%= link_to(item_path(item), class: 'list-content') do %>
  <div class="content">
    <div class="inner-left">
      ...
    </div>
    <div class="inner-right">
      ...
    </div>
  </div>
<% end %>

参考

link_to - リファレンス - - Railsドキュメント