2009-11-16 4 views
17

"main"을 포함하기 위해 "if"와 "else"의 whats가 모두 필요합니다. 현재 발생 @transparency가 정의되어있는 경우, 무엇조건부 haml - else neesting

- if @transparency 
    #content-inner{:style => "background: url(../../../images/illustrations/" + @transparency + ") no-repeat 88% 50%"} 
- else 
    #content-inner 
    #main-block 

, #main-block#content-inner 안에 중첩되지 않습니다. 그것은 도우미 메서드를 사용하는 중 최선의 여러 해시 속성을 조작, 예를 들어, 더 복잡한 배열을 위해

#content-inner{ :style => @transparency ? "background: url(../../../images/illustrations/" + @transparency + ") no-repeat 88% 50%" : '' } 
    #main-block 

, 또는를 이동 :

+0

같은 게시물로 보입니다 - http://stackoverflow.com/questions/1451794/haml-if-else-error - 비록 그들이 대답 –

답변

22

당신은 조건부 스타일 속성을 적용 할 삼항 연산자를 사용할 수 있습니다 부분적으로 공통된 내용.

+0

대성공 이외의 답변을 얻을 것 아니지만. 감사합니다 태드만, 몇 가지 문이 열립니다. –

+1

답을 보았을 때 Ruby를 그 조건부에서 평가해야만한다면 다음과 같이 덧붙이고 싶었습니다 :'.request {: class => (request.user_id == current_user.id)? "highlight": nil}'. 이걸 어떻게 렌더링해야하는지 (긴 이야기), 나는 인스턴스 변수를 만들 수 없다. 그래서이 요청 객체가'belongs_to'에'current_user'가 있는지를보기 위해 괄호 안에있는 Ruby를 평가하고, 만약 그렇다면, 나는 div에'highlight' 클래스를 추가하십시오. 다른 누군가가 이미 알아 내지 않았다면 나는이 재미있는 음식을 나눌 것이라고 생각했습니다. –