我想使用存储在 Ruby 数组中的数据创建如下表:
______________________________________________________________
| BUILD | PLATFORM | CATEGORY |
|______________|________________|____________________________|
| | | IP |
| | 8k |____________________________|
| | | UMTS |
| |________________|____________________________|
| 10.0.1.50 | | IP |
| | |____________________________|
| | | UMTS |
| | 9k |____________________________|
| | | Stability |
|______________|________________|____________________________|
| | | IP |
| 10.0.1.51 | 8k |____________________________|
| | | UMTS |
|______________|________________|____________________________|
| | | IP |
| 11.0.1.50 | 9k |____________________________|
| | | UMTS |
|______________|________________|____________________________|
我的 3 个数组中有以下数据:
Arr1
-------------------
row[0] : row[1]
-------------------
11.0.1.50 : 2
10.0.1.51 : 2
10.0.1.50 : 5
Arr2
---------------------------
row[0] : row[1] : row[2]
---------------------------
11.0.1.50 : 9k : 2
10.0.1.50 : 9k : 3
10.0.1.51 : 8k : 2
10.0.1.50 : 8k : 2
Arr3
-------------------------------
row[0] : row[1] : row[2]
-------------------------------
10.0.1.50 : 8k : IP
10.0.1.50 : 8k : UMTS
10.0.1.51 : 8k : IP
10.0.1.51 : 8k : UMTS
10.0.1.50 : 9k : IP
10.0.1.50 : 9k : Stability
10.0.1.50 : 9k : UMTS
11.0.1.50 : 9k : IP
11.0.1.50 : 9k : UMTS
数组中的所有这些数字基本上都给了我对该特定条目可能需要的行跨度的计数。
我在 Rails 视图中写了一些代码,但它似乎没有给我想要的输出:
<% @l1_reg.each_with_index do |row1, index1| %>
<table>
<tr>
<!-- Build -->
<td rowspan='<%= row1[1] %>'><strong><%= row1[0] %></strong></td>
<% @l2_reg.each_with_index do |row2, index2| %>
<% if ((row2[0].to_s == row1[0].to_s) %>
<!-- Platform -->
<td rowspan='<%= row2[1] %>'><strong><%= row2[0] %></strong</td>
<% @l3_reg.each_with_index do |row3, index3| %>
<% if ((row3[0].to_s == row2[0].to_s) && (row3[1].to_s == row2[1].to_s)) %>
<!-- Category -->
<td><%= row3[2] %></td>
<% end %>
<% end %>
<% end %>
<% end %>
</tr>
</table>
<% end %>