2012-04-02 3 views
1

なぜhas_manyを使用して複数回レコードをプッシュできないのですか?Mongoidでhas_manyを使用して重複レコードをプッシュできないのはなぜですか?

class Template 
    include Mongoid::Document 

    has_and_belongs_to_many :widgets, inverse_of: nil 

重複を追加しようとしています。

(rdb:387) self.widgets.push(Widget.first) 
[BSON::ObjectId('4f7096776c51c8135000000d')] 

(rdb:387) self.widgets.push(Widget.first) 
[BSON::ObjectId('4f7096776c51c8135000000d')] 

(rdb:387) self.widgets.count 
1 
+0

なぜinverse_of:nilを定義しましたか?なぜhbtmを使用しないのであれば? – shingara

答えて

0

内部的、Mongoid新しいドキュメントの関連付けを置くために、キー$addToSetを使用しています。したがって、このキーワードはリスト内の要素の重複を避けます。したがって、has_and_belongs_to_manyと同じ文書を複数回関連付けることはできません。

この動作が必要な場合は、プル要求または機能要求を行います。しかし、私はそれがこれを可能にする選択肢かもしれないと思う。

関連する問題