Duplicar posible:
Append class if condition is true in Haml (with Rails)clara forma de probar condicionalmente si desea añadir una clase en la plantilla de HAML
estoy usando una plantilla que le permite marcar un elemento de lista como current
(usando class=current
), resaltándolo en una barra de navegación.
En HAML, esto se parece a:
%li.current
Menu item A
%li
Menu item B
%li
Menu item C
tengo este código en una vista Sinatra y quiero agregar mediante programación el class=current
, en función de un parámetro a la vista.
¿Cómo hago esto de la mejor manera posible?
Actualmente, estoy haciendo de esta manera:
- if section == "pages"
%li.current
%a{:href => "#pages"} Pages
- else
%li
%a{:href => "#pages"} Pages
¿Qué se siente demasiado prolijo.
Gracias @mguymon, justo lo que estaba buscando –
¿cómo se pueden usar múltiples If para diferentes clases por elemento con haml? – v3nt
Lo ideal sería no meter todos los condicionales en línea, será feo y difícil de leer. En su lugar, crea la cadena de nombres de clase antes y pásala a la etiqueta haml. – mguymon