2012-07-10 13 views
12

は、私がこれを実行し、それが動作持つことができなければならないことをかなり明確であるように見える:MongoIDはMongoID <a href="http://mongoid.org/en/mongoid/docs/querying.html#queries" rel="noreferrer">docs</a>を見つけるか、find_by

Band.find_by(name: "Photek") 

が、少なくともMongoID 2.4.11でこれは私にNoMethodErrorを与えます。

Band.find(name: "Photek") 

それはfindfind_byを変更するのは簡単だが、私は何が起こっているのか混乱している:

これを、一方で、動作します。これは私の宝石のバージョンがドキュメントの後ろにある場合ですか、それとも何ですか?

答えて

15

Mongoidドキュメントでは、デフォルトでバージョン3が表示されます(これはRCです)。今だけ

Model.findとmodel.relation.find:> 3 - あなたは、これはMongoid 2のためupgrade guideからで、Mongoid 2 findfind_by

用ドキュメントhereを見てみたいです単一または複数のIDを取る。 Model.first、Model.lastも引数を取らなくなりました。これらの場合は代わりにModel.find_byを使用します。

IOW:

Mongoid 2:

Band.find(some_id) 
Band.find(name: "Billy Talent") 

Mongoid 3:ビリー・タレントのため

+3

Band.find(some_id) Band.find(some_id, some_other_id) Band.find_by(name: "Billy Talent") 
-1(LOL)。 – user2398029

関連する問題