conditional haml - if else nesting

放肆的年华 提交于 2019-12-03 08:48:23

问题


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.


回答1:


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.



来源:https://stackoverflow.com/questions/1742041/conditional-haml-if-else-nesting

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!