工作正常的項目在從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