17

我想要的是“if”中的内容和“else”中的内容以包含#main-block。

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

当前发生的情况是,如果@transparency已定义,#main-block则未嵌套在#content-inner.

4

1 回答 1

22

您可以使用三元运算符有条件地应用样式属性:

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

对于更复杂的安排,例如操作多个哈希属性,最好使用辅助方法,或者将公共内容移动到部分。

于 2009-11-16T16:05:09.917 回答