ruby-on-rails - 同时循环两个对象
问题描述
我想创建一个表如下,
<table>
<tr>
<th>Column1</th>
<th>Column2</th>
<th>Independent Column</th>
</tr>
<tr>
<td>a</td>
<td>1</td>
<td>i1</td>
</tr>
<tr>
<td>b</td>
<td>2</td>
<td>i2</td>
</tr>
<tr>
<td>c</td>
<td>3</td>
<td>i3</td>
</tr>
<tr>
<td></td>
<td></td>
<td>i4</td>
</tr>
<tr>
<td></td>
<td></td>
<td>i5</td>
</tr>
</table>
其中第 1 列和第 2 列是来自变量 的数据@a
,并且Independent Column
具有来自 的数据@b
。我希望它们出现在同一张表中,所以我不能将它们单独循环为@a.each
and @b.each
。
任何想法来帮助我。
解决方案
您可以在跟踪索引的同时迭代第一个,并从第二个获取值:
@a.each_with_index do |a, index|
@b[index] # may be nil
end
但是,这意味着@b
应该有一个[]
运算符,这是任何数组的情况,但可能不是链表的情况,具体取决于实现。
最好的方法是构建您的集合 (@a
和@b
) 合并在一起,这样您就可以只迭代一个集合并获得两个值。
推荐阅读
- python - 根据条件设置熊猫数据框的值
- javascript - 如何为输入范围设置动画以动态更改其值?
- python - Django - 是否使用某些参数过滤了查询集
- python - 在 Python 的 unittest 中向 TestCase 添加元数据
- html - Bootstrap:重叠列
- c# - 与生成的 nunit3 控制台一起运行的带有测试的 DLL 在哪里?
- javascript - Javascript 无法从数组中获取 document.getElementById('cs')
- android - 你能帮我解决 gradle 错误 Android Studio 吗?
- django - Django 中的图像和缩略图
- teradata - 在 Teradata 中选择存储过程的主体