HAML: Indenting if/else statements with common content
I have the following in my view:
- if (condition)
%div.truecondition
(Ten lines of content)
- else
%div.falsecondition
(Ten lines of the same content)
I'd like to factor out the ten lines of content to go below the if/else statement...but if I do that, indentation means the content won't be nested inside the div specified in the if/else. I'm sure this is a common problem, I'm just wondering what the solution is. So...how do I factor out that ten lines while 开发者_JAVA技巧keeping the content nested in the .truecondition/.falsecondition div?
you can try Ternary operator:
%div{ :class => condition ? 'truecondition' : 'falsecondition' }
(Ten lines of content)
JCorcuera's answer is better, but this is dirtier:
%div(class="#{!!condition}condition")
(Ten lines of content)
Assuming you literally have css classes named truecondition
and falsecondition
, which as I type this seems unlikely.
精彩评论