In every for loop in my application I do something like this
<% odd_or_even = 0
for event in @events
odd_or_even = 1 - odd_or_even
%>
I know there are some ways around to that by having automatic javascript and other solutions. But we support a large number of browsers and can’t be sure everyone has the latest browser so we have settled with this solution.
I was wondering if there is a way for me to open the for loop functionaliyty and add this feature
-
Every time the for loop starts initialize odd_or_even to zero.
-
Change the value everytime the loop is executed.
-
Make this varialbe odd_or_even visible exactly the way event is visible.
Any suggestions.
Thanks
In every for loop in my application I do something like this
<% odd_or_even = 0
for event in @events
odd_or_even = 1 - odd_or_even
%>
I know there are some ways around to that by having automatic javascript and
other solutions. But we support a large number of browsers and can't be sure
everyone has the latest browser so we have settled with this solution.
I was wondering if there is a way for me to open the for loop
functionaliyty and add this feature
1) Every time the for loop starts initialize odd_or_even to zero.
2) Change the value everytime the loop is executed.
3) Make this varialbe odd_or_even visible exactly the way event is visible.
cycle() might be what you're looking for...
<%- for item in @items do -%>
<tr class="<%= cycle("even", "odd") %>">
... use item ...
</tr>
<%- end -%>
Not sure if this applies to your problem, but have you looked at cycle()? I use it to alternate row colors in tables:
<% [1,2,3,4].each do |a| %>
<% CSSclassName = cycle(“even”, “odd”) %>
<%= a %>
</tr
<% end %>
-Jason
Thanks.
Both the suggestions are neat.