2012-01-22 27 views

Trả lời

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

Nếu bạn đặt một thuộc tính để false hoặc nil, Haml sẽ bỏ qua các thuộc tính hoàn toàn.

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

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

Sau đó thực sự tạo ra '

' , một lớp học trống. Đây là chức năng giống nhau, nhưng không cùng một đầu ra theo yêu cầu của OP. – Phrogz

+0

@Phrogz Phải, nhưng trong hầu hết các trường hợp, nó là ok. Cách của bạn có lẽ tốt hơn, tôi không biết. –

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

tôi tin rằng cũng sẽ làm các trick, và không tạo ra class = '' nếu job.done == false, cũng trông giống như mã ban đầu của bạn

+0

Điều này có vẻ sạch hơn với tôi, cảm ơn! –

Các vấn đề liên quan