Mongoid、Rails、Fabricationsを使用していますが、これはどのように起こっているのでしょうか?どのような考えは非常に感謝しますが、私はこれがかなり複雑であることを知っています私はちょうどユーザーを製作し、4つの結合されたグループしか持たないが、私は8つの読み込みを続けている。 (ここで、アソシエーションから作成された重複レコード
#<PolcoGroup _id: 1 ... member_ids: [], follower_ids: []> #<PolcoGroup _id: 1 ... member_ids: [], follower_ids: []> #<PolcoGroup _id: 1 ... member_ids: [], follower_ids: []> #<PolcoGroup _id: 1 ... member_ids: [], follower_ids: []> #<PolcoGroup _id: 1 ... member_ids: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], follower_ids: [1, 1]> #<PolcoGroup _id: 1 ... member_ids: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], follower_ids: [1, 1]> #<PolcoGroup _id: 1 ... member_ids: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], follower_ids: [1, 1]> #<PolcoGroup _id: 1 ... member_ids: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], follower_ids: [1, 1]>
:私は4を得る@user1.joined_groups.size
私が実行されますが、私は@user1.joined_groups.map(&:name)
を行うとき、私は8つのレコードを取得する場合はここで
@user1 = Fabricate.build(:registered)
@user1.joined_groups << [common_group, cali_group, ca46, Fabricate(:polco_group, {:name => "Gang of 13", :type => :custom})]
の関連セクションです私はすべてのBSON :: ObjectId( '4eab3ca5f11aac2701000009')文を1に置き換え、中間コードを多く削除しました。
コードの完全なセットはここにあります:https://gist.github.com/1323984
ほとんどのbizzarre呼び出しマップは、問題を引き起こしている可能性があります。
puts "just created user with these groups:" puts @user1.joined_groups.map(&:name) puts "then secondly" puts @user1.joined_groups.map(&:name)
はこれを生成します(!):任意の洞察力のための
just created user with these groups: Dan Cole CA CA46 Gang of 13 then secondly Dan Cole CA CA46 Gang of 13 Dan Cole CA CA46 Gang of 13
感謝を!何度も試してみると、これを複製する方法がわからないので、私はFabricationの宝石を疑っています。 (更新:いいえ、私は標準mongoidオブジェクトとこのエラーが出るので、私は完全にmongoidを非難しています)
ティム
wow - もう一度これにぶつかりました:http://stackoverflow.com/questions/27697076/mongoid-association-creating-unwanted-records – bonhoffer