1

作業中のライブラリがしばらく残っていて、作業に戻ったときはまだ問題ありませんが、gems:mongoid from 2.4.5to3.0.6を更新し、mongoとbson_extを1.6.0toから更新1.7.0してrspecを実行するとIエラーが発生する

<top (required)>': uninitialized constant Mongo (NameError)から

Mongoid.configure do |config|
  config.master = Mongo::Connection.new.db("db_test")
end

私が持っているもの:ruby 1.9.3p125 mongodb 2.0.2-x86_64

これは、 Mongoidが初期化されていない定数Mongoを与えるのと同じ問題を抱えています が、解決策は私にはうまくいきませんでした。

私のものを追加するrequire "mongo"と、別のエラーが発生します:

spec_helper.rb:11:in 'block in <top (required)>': undefined method 'master=' for Mongoid::Config:Module (NoMethodError)

編集 私はまだ3.xを使用しました、そしてこれは今彼らが接続をする方法です

Mongoid.configure do |config|
  config.connect_to("db_test")
end
4

1 に答える 1

1

Mongoid 3.x はもう mongo gem を使用しません。Mongoid チームによって開発された moped と呼ばれるドライバーを使用します。

公式の 10gen ドライバーを使い続けたい場合は、Gemfile を更新して、Mongoid 2.x を使い続けることを指定する必要があります。

gem "mongoid", "~> 2.0"
于 2012-09-21T14:41:37.803 に答える