Say I have Project, that is in many-to-many association with Tag. I\'m using has_many through so I have separate join model.
H
Try validates_associated.
That should, I believe, allow the join model validations to run before saving. So in your case:
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
I think what you want is validates_uniqueness_of:
class Taggings
belongs_to :tags
validates_uniqueness_of :tag_id, :scope => :project_id
end
This is what I'm using, and works well.