2

在每个循环中,如果它是循环的开头,或者索引是五的倍数,我想输出一个 HTML 元素。

- images.each do |image, index|
  - if index == 1 || index == 5 || index == 10 || index == 15 # this is not scalable!
    .row-fluid
  .span2
    div.image-wrapper
      = image_tag image.url

有没有更好的方法在 Ruby 中表达这一点?

我想在一个 div 中最多输出 5span2row-fluiddiv。

4

1 回答 1

10

认识模运算符

if index % 5 == 0

基本上,我想确保在行流体 div 中最多只输出 5 个 span2 div。

嗯,这完全是另一个故事

- images.each_slice(5) do |slice|
  .row-fluid
  - slice.each do |image|
    .span2
      div.image-wrapper
        = image_tag image.url

关于Enumerable#each_slice的文档。

于 2013-03-11T11:50:17.773 回答