2012-05-11 5 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는 DIV가 닫힌 후 0 & 1. 그러나 그들 모두 배치 항목 인덱스 감싸는 것이다. 부분이 렌더링 된 코드를 들여 쓰면 div 안에 중첩되므로 인덱스 0 항목 만 가져옵니다.

어떻게 haml에서이 작업을 수행 할 수 있습니까?

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

을 그리고 루비/HAML 하나 대신 그것을 CSS 문제합니다

+0

인덱스 0과 1이 같은 것을 렌더링하면 첫 번째 조건부는 필요하지 않습니다. 맞습니까? 중첩 문제는 아니지만 색인이 0 일 때 div 만 출력합니다. – numbers1311407

+0

이것은 조건문의 악몽입니다.) ... 무엇을 얻으려고합니까?. – fguillen

+0

어둠 속에서'index == 0 '조건 블록을'index <= 1' 조건 블록으로 옮길 수 있습니다. – fguillen

답변

1

당신과 같이 사업부의 클래스에 매개 변수를 전달할 수 있습니다.

관련 문제