我有一个我正在工作的图书馆已经离开了一段时间,当我回去工作时,它仍然很好,但当我更新gems:mongoid从2.4.5
到3.0.6
和还将mongo和bson_ext从1.6.0
更新为1.7.0
,当运行我的rspec时出现错误
<top (required)>': uninitialized constant Mongo (NameError)
Mongoid.configure do |config|
config.master = Mongo::Connection.new.db("db_test")
end
我有: 红宝石1.9.3p125 mongodb 2.0.2-x86_64
这个有同样的问题 Mongoid gives uninitialized constant 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
答案 0 :(得分:1)
Mongoid 3.x不再使用mongo gem了,它使用了由Mongoid团队开发的名为moped的驱动程序。
如果你想坚持官方的10gen驱动程序,你需要更新你的Gemfile以指定你想坚持使用Mongoid 2.x:
gem "mongoid", "~> 2.0"