工作正常的项目在从Ruby 2.0升级到2.2后开始抛出此错误。它发生时,我尝试访问一个数据库蒙哥,即使是一个简单的Table.all.to_a
NoMethodError在Ruby 2.2中使用Mongoid时未定义的方法'convert_key'
NoMethodError (undefined method `convert_key' for {"database"=>"db_name"}:Mongo::Options::Redacted):
这里DB_NAME是超出于mongoid.yml配置的端口存在的数据库的实际名称。我正在使用mongoid(5.0.0)。
如何解决此错误?
更新 我打印出来,其追溯到文件更有用的错误:
.rbenv /版本/ 2.2.1/LIB /红宝石/宝石/ 2.2.0 /宝石/蒙戈-2.1 0.1/LIB /蒙戈/选项/ redacted.rb:64:
要的代码:
def has_key?(key)
super(convert_key(key))
end
alias_method :key?, :has_key?
用的连接的密钥值。
我还不确定为什么会发生这种情况。
版本的mongoid?我的猜测是你的yml文件有问题。 – Anthony
mongoid(5.0.0),我删除了我的yml文件,重新创建它:rails g mongoid:config,然后在该文件中更改了db名称 – LaserJesus