2012-05-11 23 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之一。