问题描述
|
我有以下代码(简化说明):
- @assumptions[1].each do |ca|
- if count % 3 == 1
%tr
%th
= ca.value
- else
%th
= ca.value
- count = count + 1
我不确定如何使此项工作正常进行,以使每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>
我希望这是有道理的。
解决方法
您可以使用Enumerable的
each_slice
方法将其分组为3个块:
- @assumptions[1].each_slice(3) do |group|
%tr
- group.each do |ca|
%th= ca.value