RailsのViewで奇数・偶数の表示制御

何回調べても忘れるのでメモ。テーブルの行毎に背景を変えたい場合の制御方法。

Railsではcycleというhelperメソッドが用意されている。

http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-cycle

@items = [1,2,3,4]
<table>
  <% @items.each do |item| -%>
  <tr class="<%= cycle("even", "odd") -%>">
    <td>item</td>
  </tr>
  <% end -%>
</table>

で出力が

<table>
  <tr class="odd">
    <td>1</td>
  </tr>
  <tr class="even">
    <td>2</td>
  </tr>
  <tr class="odd">
    <td>3</td>
  </tr>
  <tr class="even">
    <td>4</td>
  </tr>
</table>

Comments are closed.