Si post.published?
clase Añadir si la condición es verdadera en Haml
.post
/Post stuff
De lo contrario
.post.gray
/Post stuff
He implementado esto con rieles ayudante y parece feo.
= content_tag :div, :class => "post" + (" gray" unless post.published?).to_s do
/Post stuff
Segunda variante:
= content_tag :div, :class => "post" + (post.published? ? "" : " gray") do
/Post stuff
¿Hay una manera más simple y haml específico?
UPD. Haml-específico, pero aún no es simple:
%div{:class => "post" + (" gray" unless post.published?).to_s}
/Post stuff
solo una nota lateral para múltiples condiciones '{clase: [('clase1' a menos que condition1), ('class2' si condition2)]} '.. etc –
Succintct y excelente, ¡gracias! –
Más breve para varias condiciones: '{class: [(: class1 if cond1), (: class2 if cond2)]}' – Phrogz