使用RubyonRails在Slim中有条件地创建隐藏属性



如果CONDITION为true,我正试图让Slim生成以下HTML:

<div id="start_button" hidden="hidden">

我尝试过各种方法,比如显而易见的:

#start_button #{('hidden="hidden"' if CONDITION?)}
= link_to 'Get Started', ...etc...

但这会产生:

<div id="start_button">hidden="hidden"
= link_to 'Get Started',..etc...

我知道在为某个东西设置类等属性时如何做到这一点,但因为它必须是全有或全无的;"隐藏";,它给我带来了问题。

今天晚上我已经钻了好几个兔子洞了,所以谢谢你的帮助!

这在文档中有说明:

Ruby属性

直接在=之后编写ruby代码。如果代码包含空格你必须将代码包装在括号中(…(。你也可以直接写入散列{…}和数组〔…〕。

因此,()内部的任何内容都被评估为Ruby代码,如果该语句被评估为false,那么它在某种程度上就是";跳过";,否则,它将执行真正分支中所述的操作。

#start_button hidden=('hidden' if true)
<div hidden="hidden" id="start_button"></div>
#start_button hidden=('hidden' if false)
<div id="start_button"></div>

最新更新