2

each ループ内で、それがループの開始点であるか、またはインデックスが 5 の倍数である場合、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で表現するより良い方法はありますか?

span21 つの div 内に最大 5 つの div を出力したいと考えていますrow-fluid

4

1 に答える 1

10

モジュロ演算子に会う

if index % 5 == 0

基本的に、row-fluid 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 に答える