通过有序集合迭代,从任意位置开始并做一整圈

时间:2014-09-14 15:12:41

标签: ruby-on-rails ruby-on-rails-4 iteration rails-activerecord

假设我有10个对象的集合,每个对象都有一个唯一的位置属性1-10。

如果我从第1位开始迭代集合,我只会这样做:

collection.order(position: :asc).each

但是我如何循环收集但是从另一个位置开始,比如位置5(并因此结束位置4)?

1 个答案:

答案 0 :(得分:2)

这应该有效:

  

collection.order(position :: asc).rotate(5).each

Docs