bedingte haml - wenn sonst Verschachtelung
Frage
Was ich will, ist, beide, was in "if" und was ist in "else" # main-Block zu enthalten.
- if @transparency
#content-inner{:style => "background: url(../../../images/illustrations/" + @transparency + ") no-repeat 88% 50%"}
- else
#content-inner
#main-block
Was zur Zeit geschieht, ist, wenn @transparency
definiert ist, wird #main-block
nicht in #content-inner
verschachtelt sind.
Lösung
Sie können einen ternären Operator verwenden, um bedingt das style-Attribut anwenden:
#content-inner{ :style => @transparency ? "background: url(../../../images/illustrations/" + @transparency + ") no-repeat 88% 50%" : '' }
#main-block
Für eine komplizierte Anordnung, zum Beispiel mehrerer Hash-Attribute zu manipulieren, ist es am besten, um entweder eine Hilfsmethode zu verwenden oder den gemeinsamen Inhalt zu einem Teil zu bewegen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow