template rails programming language example ruby-on-rails slim-lang

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.