Ruby on rails 本地gem中带有Mongoid的railsapi
我有一个Ruby on rails 本地gem中带有Mongoid的railsapi,ruby-on-rails,mongodb,gem,mongoid,database-connection,Ruby On Rails,Mongodb,Gem,Mongoid,Database Connection,我有一个railsapi项目,它使用我自己的本地gem进行授权。 这个gem应该连接MongoDB来存储用户和令牌 我无法使用Mongoid和doing来清除与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':未定义的方法'lo
railsapi
项目,它使用我自己的本地gem进行授权。
这个gem应该连接MongoDB
来存储用户和令牌
我无法使用Mongoid
和doing来清除与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':未定义的方法'load!'对于#(命名错误)
如何从本地gem连接mongo?问题的原因是您使用的mongoid版本(在您的案例中为1.0.6版)不支持该方法 根据您的rails版本,mongoid gem似乎下载了一个非常旧的版本。升级rails版本并将以下内容插入GEM文件后,问题应该得到解决:
gem“mongoid”,“~>4.0.0.beta1”
此外,一旦有稳定的版本发布(即测试版后),请确保升级您的mongoid版本。解决方案是指定
gem'mongoid',github'mongoid/mongoid'
在gemGemfile
和
gem'mongoid','~>4.0.0.beta1',github'mongoid/mongoid'
RailsGemfile
gem.gemspec
必须具有以下条目:
spec.add_runtime_dependency 'mongoid'
spec.add_runtime_dependency 'bson'
spec.add_runtime_dependency 'bson_ext'
这通常适用于我,但我使用的mongoid版本高于3.0。根据旧的Mongoid 2.0文档,您应该在应用程序的初始化中尝试以下操作
Mongoid.configure do | config | config.master=Mongo::Connection.new.db(“教父”)end
。但这些都是根据Mongoid 2.0文档,它们很有可能不适用于您的版本。由于您的mongoid版本不再受支持,我强烈建议您升级到3.0。并在您使用Mongoid 4时将rails版本升级至至少3.2.13I。我不知道为什么它也安装了mongoid 1。你不会是第一个抱怨的人。我认为由于您的rails版本,它默认下载了mongoid 1。我认为如果您升级了rails版本,然后在gem文件中插入gem“mongoid”、“~>4.0.0.beta1”
,您应该会对goYep有好处。我改变了它,它现在似乎正在工作。好的,我将把评论移到回答部分,这样这个问题就不会在未回答的垃圾箱中。请随意投票;)