tags:

views:

1051

answers:

1

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.

+5  A: 

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.

tadman
jackpot. Thanks tadman, that opens a few more doors.
Dr. Frankenstein