有条件地设置CSS类

时间:2012-01-22 04:29:32

标签: ruby sinatra haml erb

如何转换此ERB代码:

<div <%= 'class="highlight"' if job.done %>>

进入Haml代码?

3 个答案:

答案 0 :(得分:17)

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

我相信也可以做到这一点,如果job.done == false,也不会创建class ='',看起来更像是你的初始代码

答案 1 :(得分:16)

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

如果您将属性设置为falsenil,则Haml将完全省略该属性。

答案 2 :(得分:-1)

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

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