cssのクラスを偶数行、奇数行で変えたい
こういうふうにテーブルの行の背景色を変えたいときに使えるヘルパーが「cycle」です。
もともとは「<% i += 1 %>」、「<%= (i%2 == 0) ? 'even' : 'odd' %>」としていたので、あまり手数は変わらないのですが、偶数奇数の判定にわざわざループ変数持ち出すのもねぇと思っていたので。こちらの方がスマートです。
<table id="table"> <% for item in @items %> <tr class="<%= cycle('even', 'odd') -%>">
こうしておいて、cssをこんなふう(↓)に書くと、行の背景が水色と白の交互になります。
#table tr.even td { BACKGROUND: #edf3fe; /* 偶数行:薄い水色 */ } #table tr.odd td { BACKGROUND: #FFFFFF; /* 奇数行:白 */ }
参考
- こちら(→Railsの知っておくとちょっと便利なHelper関数 - Hello, world! - s21g)で知りました。いつも参考にさせてもらってます。