我正在尝试在 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 在每次循环通过第二个 block 后自动插入一组行标签,这导致第二个 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}"
关于html - Ruby/Rails/HTML/HAML - 创建一个两列表,其中第一列单元格跨越动态行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9637810/