conditional haml - if else nesting

haml, ruby

Solution

You can use a ternary operator to conditionally apply the style attribute:

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

For a more complicated arrangement, for example manipulating multiple hash attributes, it's best to either use a helper method, or to move the common content to a partial.

Problem

What I want is both whats in "if" and whats in "else" to include #main-block. ``` - if @transparency #content-inner{:style => "background: url(../../../images/illustrations/" + @transparency + ") no-repeat 88% 50%"} - else #content-inner #main-block ``` What happens currently is, if `@transparency` is defined, `#main-block` is not nested inside `#content-inner`.

Original source