在 ruby 上 rails 如何更改 table 格式

In ruby on rails how to change table format

嗨,我是 rails 的新手,需要帮助。

Table 数据来自 index.html.erb

<table class="table">                         
 <thead>  
  <tr> 
    <th>Area</th> 
    <th>Item</th>
    <th>Year</th>
    <th>Value</th>
  </tr>
</thead>
<tbody>
  <%@a1s.each do |ada| %>
    <tr>
      <td><%=ada.Area%></td>
      <td><%=ada.Item%></td>
      <td><%=ada.Year%></td>
      <td><%=ada.Value%></td>
    </tr>
  <%end%> 
</tbody>
</table> 

index.html.erb

如何将index.html.erbtable改成示例table

  1. 将年份数据转换为 header 并显示它们的值。
  2. 项目和区域名称显示一个,下一个国家显示在下一行。

example converted table

convert year data as a header and show their value.

您正在查找数据中所有年份的列表。例如,您可以使用:

@a1s.map(&:Year).uniq

Item and Area names show ones and next country shown in next row.

我建议使用 .group_by 组织 table 中每一行的数据。

<%@a1s.group_by(&:Area).each do |area, adas_in_area| %>
  <%adas_in_area.group_by(&:Item).each do |item, adas_in_area_for_item| %>
    <tr>
      <td><%=area%></td>
      <td><%=item%></td>
      # TODO -- You need to find the value for each year here :)
    </tr>
  <%end%>
<%end%>