jeudi, juin 22, 2006

[Rails] La couleur 1 ligne sur 2

Dans Rails pour avoir la couleur, une ligne sur deux, il faut faire dans la vue:
<table%>
<% odd_or_even = 0  
5.times do  
odd_or_even = 1 - odd_or_even %>
<tr class="Ligne<%=odd_or_even%>"%><td%>XXX</td%></tr%>
<%end%%>
</table%>
Avec dans la css:
.Ligne0 {background-color:gray;}
.Ligne1 {background-color:white;}
Mais je trouve que c'est mieux fait dans JSF... Rem: odd_or_even est possible grâce à l'ajout des méthodes even? et odd? à Fixnum.

1 commentaire:

Anonyme a dit…

Salut,

Il y a aussi le helper cycle() :

[tr style="[%= cycle("ligne1", "ligne2")%]" ]
[%= ligne %]
[/tr]

qui fait dans le plus de 2 couleurs de lignes :

[tr style="[%= cycle("ligne1", "ligne2", "ligne3")%]"]
[%= ligne %]
[/tr]

PS : Obligé de modifier le code pour le passer la protection XSS du commentaire blogger. >< remplacés par ][