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