ruby-on-rails - programming - slim rails example
clase condicional dinĂ¡mica delgada (3)
Solo para ayudar a otros desarrolladores, porque no hay una pregunta similar en SO.
div class=(is_active? ? ''active'' : ''inactive'')
div class=(''active'' if is_active?)
Si tienes varias condiciones, ahora estoy haciendo algo así como
div class=((''foo '' if is_foo?) + (''bar'' if is_bar?))
Aunque siento que es una imperfección si is_bar? devuelve falso y los resultados HTML generados en
<div class="foo "></div>
(la mancha es el personaje en blanco después del foo
). Si alguien tuviera una solución para eso sería increíble.
Utilizo una matriz de clases y un elemento nulo si no es necesario incluir clase en la lista, luego compactar una matriz para eliminar elementos nulos y finalmente unir todos.
div class=(["cday", "col-md-1", day.day == 1 ? "col-md-offset-#{day.cwday-1}" : nil].compact.join('' ''))
Vea los ejemplos a continuación:
div class=(is_active? ? ''active'' : ''inactive'')
div class=(''active'' if is_active?)
El mismo enfoque se puede usar para asignar valores dinámicos a otros atributos.