97 votes

classe conditionnelle mince et dynamique

Juste pour aider les autres développeurs, car il n'y a pas de question similaire sur SO.
div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)

136voto

Sergey Alekseev Points 1700

Voir les exemples ci-dessous:
div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)

19voto

Oleg Kr Points 19

J'utilise un tableau de classes et un élément nil s'il n'est pas nécessaire d'inclure une classe dans la liste, puis compacte un tableau pour supprimer des éléments nil et enfin, les joindre tous ensemble.

 div class=(["cday", "col-md-1", day.day == 1 ? "col-md-offset-#{day.cwday-1}" : nil].compact.join(' '))
 

11voto

maximski Points 428

Si vous avez plusieurs conditions je fais en ce moment quelque chose comme

 div class=(('foo ' if is_foo?) + ('bar' if is_bar?))
 

Bien que je pense que c'est un défaut si is_bar? renvoie false et les résultats HTML générés dans

 <div class="foo "></div>
 

(le défaut est le caractère vierge après le foo ). Si quelqu'un avait une solution pour cela, ce serait génial.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X