在 PHP 中,我可以这样做:
<div class="foo <?php if($a) echo "bar"; ?>">
<?php if ($b) echo "</div>"; ?>
这非常方便。我可以在任何地方、任何引号之间、任何 HTML 符号之间、在任何我想要的地方打断字符串。
我需要在 Ruby-HTML 中实现相同的功能。我正在尝试将 PHP 项目移植到 Ruby。我使用 Slim 模板语言。我试过这个但它不起作用,Slim 抛出错误:
<div class="foo
- if (x == 1)
= bar
"></div>
目前对于 Slim,我只知道一种方法:
- if (a == true)
<div class="foo"></div>
- else
<div class="foo bar"></div>
首先,复制。其次,我的 HTML-PHP 部分代码相当复杂。它有两个循环(其中的for
循环和foreach
循环),我使用多个这样的嵌入来根据条件添加 div 的属性。只是无法想象如何用 Slim 实现它。即使为此它也会引发错误,我无法打破长 html 字符串:
- if(i != 5)
<div class="foo bar"
id="item_#{i}"
style="background-color:red;"
data-im="baz">
</div>
- else
Slim 是否允许if
在引号或元素属性之间使用条件 s 断开字符串?怎么做?