0

2 つのモンゴイド モデル間に 1 対 1 の関連付けがあり、重複が発生し続けます。つまり、同じ parent_id (ユーザー) を持つ複数の子レコード (カード) があります。以下に示す属している関連付けの一意性を検証しようとしましたが、機能しません。

 class User
   include Mongoid::Document
   field :name, type: String 
   has_one :card
 end

2 番目のモデル:

 class Card
   include Mongoid::Document
   field :name, type: String 
   belongs_to :user

   validates :user, :uniqueness => {:scope => :user_has_child}

   def user_has_child
     q = Segment.where(drop_id: {'$ne' =>  nil})
     s = q.map(&:drop_id)
     errors.add(:drop_id, "this user already has a card") if s.include?(:drop_id)
   end

 end
4

1 に答える 1