2012-07-28 68 views
0

如何验证HABTM关联的唯一性?HABTM连接表验证

用户可以在许多团队中,许多团队可以有用户。但是,你如何阻止一个用户加入同一个团队两次?

在DB

回答

1

好,你放一个唯一约束在{用户,团队}元组的连接表做到这一点

+0

会是什么样的迁移做那是什么? – 2012-07-28 08:13:05

+0

'add_index:team_members,[:team_id,:user_id],unique:true'我认为 – 2012-07-28 08:14:48

+0

你知道在哪里可以找到更多有关添加数据库级验证的信息吗? – 2012-07-28 12:00:31

0

你可以用这个验证

validates_uniqueness_of :user_id, :scope => :team_id 
+0

? – 2012-07-28 08:21:59

+0

在中间。看看很多工作如何。 YouTube中间应该有一个TeamMembership模型,就像桥牌桌 – 2012-07-28 08:41:28

+0

我正在使用HABTM关系,是否仍然可以创建验证,还是需要将其转换为has_many? – 2012-07-28 08:46:29