说我有项目,即与标记的多对多关联。我正在使用 has_many到,所以我有单独的连接模型。
如何创建验证,检查连接模型的唯一性?现在我只有
has_many :tags, :through => :taggings, :uniq => true
但是这不会在保存时验证。
答案 0 :(得分:15)
我认为你想要的是validates_uniqueness_of:
class Taggings
belongs_to :tags
validates_uniqueness_of :tag_id, :scope => :project_id
end
这就是我正在使用的,并且效果很好。
答案 1 :(得分:5)
我认为应该允许在保存之前运行连接模型验证。所以在你的情况下:
class Project
has many :tags, :through => :taggings
validates_associated :taggings
end
class Taggings
belongs_to :tags
#your validations here....
end
class Tag
has_many :taggings
end