MongoID docs似乎非常清楚,我应该能够运行它并让它工作:
Band.find_by(name: "Photek")
但至少在MongoID 2.4.11中,这给了我NoMethodError
分.
另一方面,这是可行的:
Band.find(name: "Photek")
把find_by
改成find
很容易,但我不知道发生了什么.在这种情况下,我的gem版本是在文档后面,还是什么?
MongoID docs似乎非常清楚,我应该能够运行它并让它工作:
Band.find_by(name: "Photek")
但至少在MongoID 2.4.11中,这给了我NoMethodError
分.
另一方面,这是可行的:
Band.find(name: "Photek")
把find_by
改成find
很容易,但我不知道发生了什么.在这种情况下,我的gem版本是在文档后面,还是什么?
Mongoid文档现在默认显示版本3(它是一个RC).你想看看Mongoid 2的docs here.
On find
vs find_by
, this is from the upgrade guide for Mongoid 2 -> 3:
模型寻找并建模.关系现在查找只获取一个或多个ID.模型首先是模型.最后也不再接受争论.对于这些使用模型.取而代之的是找到你.
瞧:
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")