【发布时间】:2014-03-07 13:53:00
【问题描述】:
我有一个rails-api 项目,它使用我自己的本地 gem 进行授权。
此 gem 应连接 MongoDB 以存储用户和令牌。
我无法使用Mongoid 与MongoDB 建立联系并做
Mongoid.load!(yaml_dir, env)
当我从 Mongoid (load!, logger) 调用任何方法时,我得到了
/Users/M/.rvm/gems/ruby-2.1.0/gems/mongoid-1.0.6/lib/mongoid.rb:68:in 'method_missing': undefined method 'load!' for #<Mongoid::Config:0x000001049e10d8> (NoMethodError)
如何从本地 gem 连接 mongo?
【问题讨论】:
-
这通常对我有用,但我使用大于 3.0 的 mongoid 版本。根据旧的 Mongoid 2.0 文档,您应该在应用程序的初始化
Mongoid.configure do |config| config.master = Mongo::Connection.new.db("godfather") end中尝试以下操作。但这些是根据 Mongoid 2.0 文档,很有可能它们不适用于您的版本。由于不再支持您的 mongoid 版本,我强烈建议您升级到 3.0。并将您的 rails 版本升级到至少 3.2.13 -
我用的是Mongoid 4,不知道为什么它也安装了mongoid 1。
-
您不会是第一个提出投诉的人。我认为由于您的 rails 版本,它默认下载了 mongoid 1。我认为如果你升级了你的 rails 版本,然后在你的 gemfile 中停留在
gem "mongoid", "~> 4.0.0.beta1"你应该很高兴 -
是的。我改变了它,它现在似乎正在工作。
-
好的,我会把评论移到答案部分,这样这个问题就不会出现在未回答的垃圾箱中。随意upvote ;)
标签: ruby-on-rails mongodb gem mongoid database-connection