Ruby 如何在HAML中将类添加到条件

Ruby 如何在HAML中将类添加到条件,ruby,haml,Ruby,Haml,好的,我的文件中有这一行,在HAML中 - unless @place.blank? 我需要向它添加一个类,而不管条件如何 我试过这样做: - {:class => ("extra_middle" unless place.blank?)} 那不行。我试过其他的变体,但都没有用 编辑 请记住,在HAML中有一个破折号,意思是除非不是空白,否则不要渲染,对吗 编辑2 再解释一下,我试图添加的类是为了隐藏特定的部分,除非有人点击一个链接,然后显示它 所以,这个类不管结果是否为空 我通常使用

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

- unless @place.blank?
需要向它添加一个类,而不管条件如何

我试过这样做:

- {:class => ("extra_middle" unless place.blank?)}
那不行。我试过其他的变体,但都没有用

编辑

请记住,在HAML中有一个破折号,意思是除非不是空白,否则不要渲染,对吗

编辑2

再解释一下,我试图添加的类是为了隐藏特定的部分,除非有人点击一个链接,然后显示它


所以,这个类不管结果是否为空

我通常使用三元运算,例如:

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

。。。或者换一个助手,如果事情变得更复杂的话。

在这里叫我笨蛋,但你能不能不把-除非放在空白处?舱内

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

你能再分享一些代码吗?/错误是什么?我看到你的是正确的,因为显示了更多的代码………你正在向
HTML
元素添加
CSS
类,对吗?HTML元素在哪里?那不起作用。我得到了这个错误:`syntax error,unexpected=>,应该是关键字\u end:class=>place.blank?零:“额外的中间”``。。。我猜是因为队伍开头的破折号,它不起作用了?我在没有这行代码的情况下尝试了它,我得到的结果是:
无效的筛选器名称”:class=>place.blank??nil:“extra_middle”。
我在帖子中进一步澄清了我试图对该类做什么。希望有帮助。扩展了示例,使其在粘贴时仍能正常工作。希望有帮助。谢谢。我刚试过。它不起作用。这是我得到的错误:
未知类型的%string%div{class:(place.blank??nil:'extra_middle')}
顺便说一句,如果我正确地阅读了你的行,它假设css类将在place为空时呈现,对吗?一点也不。我完全忘记了接吻的原则。所以,很明显,我是这里最愚蠢的一个。你的回答奏效了。