2012-05-11 24 views
0

我想要使用一個if語句來確定項目是否落入同一個html容器或獲得一個新的。我似乎無法使用haml在同一個容器中獲取多個項目,因爲它處理嵌套。使用haml在一個容器中嵌套項目

實施例:

%div.line.boards.main_boards 
    - @boards.each_with_index do |board, index| 
    - @board = board 
    -if index == 0 
     %div.unit.size1of5 
    -if index <= 1 
     = render :partial => "board_projects" 
    -if index == 2 
     %div.unit.size4of5 
     = render :partial => "board_projects" 

在本例中該元件%div.unit.size1of5應環繞兩個項目索引0 &然而會放置在div關閉之後。如果我縮進部分被渲染的代碼,所以它嵌套在div中,它只會引用索引0項。

這是如何完成haml?

+0

如果索引0和1呈現相同的東西,你不需要第一個條件,對嗎?這不是一個嵌套的問題,而是你只在索引爲0時輸出div。 – numbers1311407

+0

這是一個條件的噩夢:)...你試圖獲得什麼? – fguillen

+0

在黑暗中拍攝,您可以嘗試將'index == 0'條件塊移動到'index <= 1'條件塊中。 – fguillen

回答

1

可以傳遞參數到類一個div像這樣:

.unit{:class => "size#{index}"} 
    = render :partial => "board_projects" 

然後使它成爲一個CSS問題,而不是一個Ruby/HAML之一。