условный хамл - если еще вложенность - PullRequest
17 голосов
/ 16 ноября 2009

То, что я хочу, это то, что в "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.

1 Ответ

22 голосов
/ 16 ноября 2009

Вы можете использовать троичный оператор для условного применения атрибута стиля:

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

Для более сложной компоновки, например, манипулирования несколькими хэш-атрибутами, лучше всего использовать вспомогательный метод или переместить общий контент в частичное.

...