Mongoid each.with_index不起作用

时间:2013-05-09 21:00:49

标签: mongoid

我可以用普通红宝石做到这一点

[3,2,1].each.with_index do |e, i|
  p e, i
end

3
0
2
1
1
2

但我不能用Mongoid做到这一点:

Model.each.with_index do |e, i|
  p e, i
end

失败了

undefined method with_index for Array

如何在不使用此项的情况下解决此问题:

Model.each_with_index

不允许设置起始索引

1 个答案:

答案 0 :(得分:0)

在Mongoid 3.1.3中,with_index方法按预期工作。

puts Mongoid::VERSION

class User
  include Mongoid::Document
  field :name, type: String
end

User.create([
  { name: 'Harai' },
  { name: 'Sasaki' }
])

User.each.with_index do |u, i|
  puts "#{u.name}, #{i}"
end

上面的代码是这样的:

$ ruby main.rb
3.1.3
Harai, 0
Sasaki, 1

您的问题可能是因为您使用的是较早版本的Mongoid。