Iterating over a list
Arry#cycle is a method to enable that.
1 2 class Array 3 def cycle(values) 4 self.each_with_index do |o, i| 5 yield(o, values[i % values.length]) 6 end 7 end 8 end
You can use it like this:
1 2 <% @something.cycle(["oddRow", "evenRow"]) do |obj, cssClass| %> 3 <tr class="<%= cssClass %>"> 4 <td><%= obj.something %></td> 5 <td><%= obj.something_else %></td> 6 </tr> 7 <% end %>