0

私はプレーンルビーでこれを行うことができます

[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

開始インデックスを設定できない

4

1 に答える 1

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 を使用していることが問題の原因である可能性があります。

于 2013-05-11T01:22:10.403 に答える