我想每三个块插入一个div.row
,以便将三个span
一起插入以下haml片段。
但是这段代码插入<div class="row"></div>
而不是包裹.span4
。
- data.apps.applications.each_with_index do |app, index|
- if index%3 == 0
.row # This is the line I want to insert
.span4
我怎么能用haml做这个,或者在这种情况下,erb
更合适?
答案 0 :(得分:8)
我认为你想要的是这样的:
-data.apps.applications.each_slice(3) do |apps|
.row
-apps.each do |app|
.span4
这使用each_slice
。 apps
是来自applications
的三个项目的数组。
这需要来自applications
的三个元素组,并为每个组添加一个row
div,然后为每个元素添加一个span4
div,所以你得到的是这样的:
<div class="row">
<div class="span4"></div>
<div class="span4"></div>
<div class="span4"></div>
</div>
<div class="row">
<div class="span4"></div>
<div class="span4"></div>
<div class="span4"></div>
</div>
如果您没有三个元素的倍数,则最后一个组只有一个或两个成员。
答案 1 :(得分:2)
你的缩进是错误的
- data.apps.applications.each_with_index do |app, index|
- if index%3 == 0
.row # This is the line I want to insert
.span4