Ответ 1
%div{class:job.done && "highlight"}
Если вы установите атрибут false
или nil
, Haml полностью опустит атрибут.
Как преобразовать этот код ERB:
<div <%= 'class="highlight"' if job.done %>>
в код Haml?
%div{class:job.done && "highlight"}
Если вы установите атрибут false
или nil
, Haml полностью опустит атрибут.
%div{:class => ('hightlight' if job.done)}
Я считаю, что это тоже поможет, и не создает class= '', если job.done == false, также больше похож на ваш начальный код
%div{job.done ? {:class => "highlight"} : {}}
%div{:class => job.done ? "highlight" : ""}