2013-07-16 55 views
1

我需要自動執行以下操作:Rails的Haml的結束If語句


1類
一堆表格


類別2
一堆表格

的.. 。等

我可以做到這一點,如果我可以結束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....} 

回答

1

裏面做這樣的事情在Haml的,您應該首先以正確的格式獲取數據,然後簡單地遵循標記。

在這種情況下(如果我已經正確理解了你),看起來你可以使用group_by將每個類別組合在一起。像這樣(從您的代碼簡化):

- @c.group_by(&:category_id).each do |category, values| 
    = category 
    .box 
    ... 
    %table 
     - values.each do |p| 
     %tr 
      %td 
      = p.name 
+0

謝謝!精美的作品!你怎麼知道這些事情haml/ruby​​? – nevermind