I am rendering a rails partial and I want to alternate the background color when it renders the partial. I know that is not super clear so here is an example of what I want to do:
Row One grey Background Row Two yellow background Row Three grey Background Row Four yellow backgroundThis is the view code that I am using
<table>
<%= render :partial => 'row' :collection => @rows %>
</table>
the _row.html.erb partial looks like this
<tr bgcolor="#AAAAAA">
<td><%= row.name %></td>
</tr>
The problem is I do not know how to change the background color for every other row. Is there a way to do this?
You could use the Cycle helper. Something like this:
<tr class="<%= cycle("even", "odd") %>">
<td><%= row.name %></td>
</tr>
Or in your case use bgcolor instead, although i would recomend using css classes.
You can cycle through more than two values: cycle(‘first’, ‘second’, ‘third’, ‘and_more’).
There is also: reset_cycle(‘cycle_name’) This makes sure that on each iteration, you will start again with your first value of the cycle list.
Check the rails documentation for more examples.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With