我正在尝试获取这些数组:
table_header = ["val1", "val2", "val2"]
name_column = ["name1", "name2", "name3"]
val1_column = ["12", "12", "12"]
val2_column = ["123", "123", "123"]
val3_column = ["1234", "1234", "1234"]
进入这样的表
| Name | val1 | val2 | val3 |
----------------------------------
| name1 | 12 | 123 | 1234 |
----------------------------------
| name2 | 12 | 123 | 1234 |
----------------------------------
| name3 | 12 | 123 | 1234 |
----------------------------------
这就是我所拥有的表格标题和名称列
<table id="example" class="display">
<thead>
<tr>
<th>Name</th>
<% table_header.each do |header| %>
<th> <%= header %> </th>
<% end %>
</tr>
</thead>
<tbody>
<% name_column.each do |name| %>
<tr>
<td> <%= name %> </td>
</tr>
<% end %>
</tbody>
</table>
我现在的问题是我无法将值列循环到表中。我尝试了一些东西,但没有一个在起作用。
我可以将所有行放在如下所示的数组中,但可能有数百行加上name_column值无法添加到下面的数组中,因此最好将它们存储在列数组中。
first_row_vals = ["12", "123", "1234"]
second_row_vals = ["12", "123", "1234"]
third_row_vals = ["12", "123", "1234"]
如果您认为使用上面的行阵列会更容易,我很乐意为它做好准备。
我确信有一些简单的方法可以做到这一点,但它不会出现在我脑海中。
答案 0 :(得分:1)
如果你打算使用row_vals结构,我建议这样:
<tbody>
<% [first_row_vals, second_row_vals, third_row_vals].each_with_index do |row, index| %>
<tr>
<td> <%= name_column[index] %> </td>
<% row.each do |value| %>
<td> <%= value %> </td>
<% end %>
</tr>
<% end %>
</tbody>
对于较大的行集,您可以使用我在问题评论中提出的二维数组。
rows_vals = []
rows_vals << ["1", "2", "3", "..."]
rows_vals << ["4", "5", "6", "..."]
# ...
# row_vals = [["1", "2", "3", "..."], ["4", "5", "6", "..."], ...]
然后工作应该更容易
<tbody>
<% rows_vals.each_with_index do |row, index| %>
<tr>
<td> <%= name_column[index] %> </td>
<% row.each do |value| %>
<td> <%= value %> </td>
<% end %>
</tr>
<% end %>
</tbody>