我可以用普通红宝石做到这一点
[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
不允许设置起始索引
答案 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。