我无法在我的应用中使用uniqness夫妇...
我有用户女巫可以链接到一些联系人。 我使用关系表来做我的链接(女巫也有一个级别属性 - 对于不同级别的关系)
所以我有用户,联系人和关系。 我的问题是,情侣contact_id和user_id必须是uniq(它们只能链接一次)。
contact.rb
has_many:relations,:dependent => :破坏
has_many:users,:through => :relations,:uniq =>真
user.rb
has_many:relations,:dependent => :破坏
has_many:contacts,:through => :relations,:uniq =>真
relation.rb
belongs_to:user
belongs_to:联系
我不知道我是否必须使用foreign_key或其他什么,我只需要一些简单的东西:)
欢呼答案 0 :(得分:1)
您可以在唯一性验证中使用:scope
选项。像validates_uniqueness_of :contact, :scope => :user
这样的东西意味着对于给定的用户,不会有重复的联系人。因此,如果您将每个属性限定为另一个属性,我认为它会产生您想要的结果。可能有更好的方法(我显然不知道)。
答案 1 :(得分:1)
class Relation < ActiveRecord::Base
belongs_to :user
belongs_to :contact
validates_uniqueness_of :contact_id, :scope => :user_id
end