加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – haml条件if / else缩进

发布时间:2020-12-17 03:35:08 所属栏目:百科 来源:网络整理
导读:我有一种情况,我想只在count大于0时才将类添加到div标签 例: - @color.shades.each_with_index do |shade,index| - if index == 0 #shades - else #shades.horizontalLine.second %h3 something %dl %dt some %dd some1 在这个例子中,我希望从%h3开始的所
我有一种情况,我想只在count大于0时才将类添加到div标签

例:

- @color.shades.each_with_index do |shade,index|
    - if index == 0
        #shades
    - else
        #shades.horizontalLine.second
     %h3 something
     %dl 
         %dt some
         %dd some1

在这个例子中,我希望从%h3开始的所有内容都在#shades或#shades.horizo??ntalLine.second之下,这取决于if和else语句的评估.

解决方法是:

- @color.shades.each_with_index do |shade,index|
    - if index == 0
        #shades
          %h3 something
            %dl 
              %dt some
              %dd some1
    - else
        #shades.horizontalLine.second
          %h3 something
            %dl 
              %dt some
              %dd some1

但在这里我必须重复代码

我不知道如何在rails中执行此操作而不重复从%h3开始为两个div创建的代码.

解决方法

您可以将类设置为包含基于索引的类名的变量来干掉它:

- @color.shades.each_with_index do |shade,index|
  - shade_classes = index == 0 ? '' : 'horizontalLine second'
    #shades{ :class => shade_classes }
      %h3 something
        %dl 
          %dt some
          %dd some1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读