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

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

Railsではcycleというhelperメソッドが用意されている。
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-cycle

[ruby]
@items = [1,2,3,4]
<table>
<% @items.each do |item| -%>
<tr class=”<%= cycle(“even”, “odd”) -%>”>
<td>item</td>
</tr>
<% end -%>
</table>
[/ruby]
で出力が
[html]
<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>
[/html]