1

我需要自动化以下操作:

box
Category 1
一堆桌子

box
类别 2
一堆桌子

... ETC

如果我可以结束打印标题的 if 语句,我可以这样做,但我不能因为缩进,如果我将表格部分移动到 if 语句级别,表格不会进入框内

- @test = -1
- @c.each do |p|
  - if p.category_id != @test
    = @test = p.category_id
    .box
      boxname
      .box-content.padded{:style => "..."}

    %table.table-condensed{:align => "left"}
      %tr
        %td{:align => "center", :style => "..."}
        = p.name
      %tr
        %td{:align => "center"}
        %div{:id => pod....}  
4

1 回答 1

1

要在 Haml 中执行此类操作,您应该首先以正确的格式获取数据,然后简单地进行标记。

在这种情况下(如果我对您的理解正确的话),您似乎可以使用group_by将每个类别分组在一起。像这样的东西(从您的代码中简化):

- @c.group_by(&:category_id).each do |category, values|
  = category
  .box
    ...
    %table
      - values.each do |p|
        %tr
          %td
            = p.name
于 2013-07-16T17:55:34.090 回答