MongoID docs似乎很清楚我应该能够运行它并让它工作:
Band.find_by(name: "Photek")
但至少对于 MongoID 2.4.11,这给了我一个 NoMethodError
。
另一方面,这有效:
Band.find(name: "Photek")
将 find_by
更改为 find
很容易,但我很困惑发生了什么。这是我的 gem 版本落后于文档的情况,还是什么?
最佳答案
Mongoid 文档现在默认显示版本 3(它是 RC)。您想查看文档 here对于 Mongoid 2。
在 find
与 find_by
上,这是来自 upgrade guide对于 Mongoid 2 -> 3:
Model.find and model.relation.find now only take a single or multiple ids. Model.first, Model.last also no longer take arguments. For these use Model.find_by instead.
IOW:
Mongoid 2:
Band.find(some_id)
Band.find(name: "Billy Talent")
Mongoid 3:
Band.find(some_id)
Band.find(some_id, some_other_id)
Band.find_by(name: "Billy Talent")
关于ruby - MongoID find 或 find_by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11421496/