Ruby/Rails/HTML/HAML——创建一个两列表,第一列单元格跨越动态行数



我正试图在HAML中创建一个HTML表,该表有第一列,其中每个单元格根据数组中的值的数量跨越动态行数,数组将在第二列的多个单元格中拆分。例如,如果Array.size==2,那么第一列中的第一个单元格将具有rowspan=2,第二列将具有Array[0]和Array[1],第二行和第1列的值将横跨两行。我为此编写的HAML代码如下:

- @array1.each do |item|
    %tr
    %td{:rowspan => "#{item.array.size}"}= time_tag(item.created_at)
    - item.array.each do |item|
      %td= "#{item.name}" 
      %tr

我遇到的问题是,HAML在通过第二个块的每个循环之后自动插入一组行标签,这导致第二个item.name最终出现在第二行的第一列,而不是第二行第二列。如何修复我的代码以使表按我所描述的那样工作?

我不知道我是否理解你,但我认为它可以使用以下代码:

%table
- @products.each do |item|
  %tr
    %td{:rowspan => "#{item.array.size}"}= "#{item.name}"
    %td
      - item.array.each do |item2|
        %tr
          %td= "#{item2.name}"

最新更新