如何将 class 添加到 HAML 中的条件

how to add a class to a conditional in HAML

好的,我的 HAML 文件中有这一行

- unless @place.blank?

需要添加一个class,不管条件如何。

我试过这样做:

- {:class => ("extra_middle" unless place.blank?)}

那是行不通的。我尝试了其他变体但无济于事。

编辑

请记住,有一个破折号在 HAML 中表示除非不为空否则不渲染,对吗?

编辑 2

再多解释一下,我要添加的 class 是为了隐藏该特定部分,除非有人点击 link 然后显示它...

因此,class 与 place 是否为空白的结果无关......

我一般使用三元运算,例如:

%div{ class: (place.blank? ? nil : 'extra_middle') }

...或者移动到助手中,如果它变得比这更复杂的话。

在这里叫我傻瓜,但你能不能只加上 -unless place.blank?在 div

 .extra_middle
    -unless place.blank?
      .Whatever else you need