2012-01-22 9 views

Odpowiedz

17
%div{class:job.done && "highlight"} 

Jeśli ustawisz atrybut do false lub nil, haml zostanie pominięty atrybut całkowicie.

-1
%div{job.done ? {:class => "highlight"} : {}} 

%div{:class => job.done ? "highlight" : ""} 
+0

Ten ostatni faktycznie tworzy ''

, pusta klasa. Jest to funkcjonalnie taki sam, ale nie taki sam wynik jak żądany przez PO. – Phrogz

+0

@Phrogz Prawo, ale w większości przypadków jest OK. Twoja droga jest prawdopodobnie lepsza, nie wiedziałem o tym. –

17
%div{:class => ('hightlight' if job.done)} 

Wierzę również rade, a nie tworzyć class = „” jeśli job.done == false, również wygląda bardziej jak początkowego kodu

+0

Wygląda na czystsze dla mnie, dzięki! –

Powiązane problemy