Ruby on rails haml条件if/else缩进
在这种情况下,我只想在计数大于0时向div标记添加一个类 例如:Ruby on rails haml条件if/else缩进,ruby-on-rails,haml,Ruby On Rails,Haml,在这种情况下,我只想在计数大于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开始的
- @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.horizontalLine.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