如何插入每隔几格与HAML块?(How to insert a block every severa

2019-07-29 03:16发布

我想插入一个div.row每三个街区,以 3个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更适合?

Answer 1:

我想你想要的是这样的:

-data.apps.applications.each_slice(3) do |apps|
  .row
    -apps.each do |app|
      .span4

这使用each_sliceapps是从三个项目的阵列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>

如果你不具备三个要素的整数倍,在最后一组将只具有一个或两个成员。



Answer 2:

您的压痕是错误的

- data.apps.applications.each_with_index do |app, index|
  - if index%3 == 0
    .row # This is the line I want to insert
  .span4


文章来源: How to insert a block every several div with haml?
标签: html ruby haml