Leo*_*opd 14 ruby mongodb mongoid
MongoID 文档似乎很清楚,我应该能够运行它并让它工作:
Band.find_by(name: "Photek")
Run Code Online (Sandbox Code Playgroud)
但至少在MongoID 2.4.11这给了我一个NoMethodError.
另一方面,这有效:
Band.find(name: "Photek")
Run Code Online (Sandbox Code Playgroud)
这是很容易改变find_by到find,但我很困惑这是怎么回事.这是我的宝石版本落后于文档的情况,还是什么?
小智 17
Mongoid文档现在默认显示版本3(它是RC).你想看看文档这里的Mongoid 2.
在findvs上find_by,这是来自Mongoid 2 - > 3 的升级指南:
Model.find和model.relation.find现在只需要一个或多个id.Model.first,Model.last也不再接受参数.对于这些使用Model.find_by而不是.
IOW:
Mongoid 2:
Band.find(some_id)
Band.find(name: "Billy Talent")
Run Code Online (Sandbox Code Playgroud)
Mongoid 3:
Band.find(some_id)
Band.find(some_id, some_other_id)
Band.find_by(name: "Billy Talent")
Run Code Online (Sandbox Code Playgroud)