我需要自动执行以下操作:
框
第1类
一堆桌子
框
第2类
一堆桌子
...等
我可以这样做,如果我可以结束打印标题的if语句,但我不能因为缩进,如果我将表部分移动到if语句级别,表不会进入框< / p>
- @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....}
答案 0 :(得分:1)
要在Haml中执行此类操作,您应该首先以正确的格式获取数据,然后简单地遵循标记。
在这种情况下(如果我理解正确的话),您似乎可以使用group_by
将每个类别组合在一起。这样的东西(从你的代码中简化):
- @c.group_by(&:category_id).each do |category, values|
= category
.box
...
%table
- values.each do |p|
%tr
%td
= p.name