2011-05-27 23 views
5

benim görünümünde aşağıdaki vardır:HAML: Hizalama eğer ortak içerikle/else ifadeleri

- if (condition) 
    %div.truecondition 
    (Ten lines of content) 
- else 
    %div.falsecondition 
    (Ten lines of the same content) 

Ben eğer/else deyimi altına gitmek için içeriğin on satırlık çarpanlarına istiyorum .. .Ama bunu yaparsam, girinti içeriğin if/else'de belirtilen div içine yerleştirilemeyeceği anlamına gelir. Bunun yaygın bir sorun olduğuna eminim, çözümün ne olduğunu merak ediyorum. Öyleyse ... içeriğin .truecondition/.falsecondition div içine yerleştirilmesinde on satırı nasıl dağıtacağım?

cevap

12

sen Ternary operator deneyebilirsiniz:

%div{ :class => condition ? 'truecondition' : 'falsecondition' } 
    (Ten lines of content) 
2

JCorcuera cevabı daha iyi, ama bu kirli: kelimenin tam anlamıyla bu görünüyor yazarken hangi truecondition ve falsecondition adlı css sınıfları varsayarsak

%div(class="#{!!condition}condition") 
    (Ten lines of content) 

olası olmayan.