我有以下代码(简化以达到目的):
- @assumptions[1].each do |ca|
- if count % 3 == 1
%tr
%th
= ca.value
- else
%th
= ca.value
- count = count + 1
我不知道如何让haml中的这个工作让每4个项目都创建一个新标签。
这是它的输出方式:
<tr>
<tr>
<th>
700.0
</th>
</tr>
<th>
1235.0
</th>
<th>
0.8
</th>
<th>
650.0
</th>
<tr>
<th>
1050.0
</th>
</tr>
<th>
0.2
</th>
</tr>
这就是我希望输出的方式:
<tr>
<th>
700.0
</th>
<th>
1235.0
</th>
<th>
0.8
</th>
</tr>
<tr>
<th>
650.0
</th>
<th>
1050.0
</th>
</tr>
我希望这是有道理的。
答案 0 :(得分:22)
您可以使用Enumerable's each_slice
method将这些分组为3:
- @assumptions[1].each_slice(3) do |group|
%tr
- group.each do |ca|
%th= ca.value