我不明白这个输出:
$ rails c
Loading development environment (Rails 3.2.14)
1.9.3p392 :001> require 'rubygems'
=> false
1.9.3p392 :002 > require 'mongo'
=> false
1.9.3p392 :003 > include Mongo
=> Object
1.9.3p392 :004 > Mongo::VERSION
=> "1.6.0"
1.9.3p392 :005 > c = MongoClient.new
NameError: uninitialized constant MongoClient
from (irb):5
很明显,bundler正在运行并加载MongoDB驱动程序gem“mongo”(版本1.6,应该没问题)。
然而,当我尝试根据文档引用MongoClient时,我得到“未初始化的常量”。如果我尝试将其引用为Mongo :: MongoClient.new
,也会发生同样的情况我在这里缺少什么?
答案 0 :(得分:0)
从您的控制台输出,您使用的是MongoDB Ruby驱动程序版本1.6.0。 相应的API文档可以在这里找到。
http://api.mongodb.org/ruby/1.6.0/
版本1.6.0使用旧的Mongo :: Connection类连接到MongoDB。
MongoClient类是从1.8.0版开始的新版本,因此在任何旧版本中都不可用。
请使用匹配的API和文档。 请考虑升级到较新版本的mongo_mapper(0.12.0)和mongo(1.9.2)宝石。