Mik*_*ike 5 haml ruby-on-rails
我有一种情况,我想只在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
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我想要的一切,从开始%h3来在任#shades或#shades.horizontalLine.second因这些不过如果和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
Run Code Online (Sandbox Code Playgroud)
但在这里我必须重复代码
我很困惑如何在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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3053 次 |
| 最近记录: |