【发布时间】:2015-10-06 09:29:51
【问题描述】:
我从 Ruby 2.0 升级到 2.2 后,一个运行良好的项目开始抛出此错误。当我尝试访问 mongo 数据库时会发生这种情况,即使是简单的Table.all.to_a
NoMethodError (undefined method `convert_key' for {"database"=>"db_name"}:Mongo::Options::Redacted):
这里的 db_name 是数据库的实际名称,它确实存在于 mongoid.yml 中配置的端口上。我正在使用 mongoid (5.0.0)。
如何解决此错误?
更新 我打印了一个更有用的错误,它可以追溯到文件:
.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/mongo-2.1.1/lib/mongo/options/redacted.rb:64:
到代码:
def has_key?(key)
super(convert_key(key))
end
alias_method :key?, :has_key?
键值为connect。
我仍然不确定为什么会发生这种情况。
【问题讨论】:
-
mongoid 的版本?我猜你的 yml 文件有问题。
-
mongoid (5.0.0),我删除了我的 yml 文件,使用:rails g mongoid:config 重新创建它,然后只是更改了该文件中的数据库名称
标签: ruby-on-rails ruby mongodb mongoid