在rails中的单个模型上实现habtm

时间:2014-11-28 10:39:56

标签: ruby-on-rails has-and-belongs-to-many

我在rails中的单个模型上遇到 habtm 问题。

实施例: 让我们说我有一个具有两个角色的用户模型"学生"和#34;老师"。用户模型对于两个角色很常见。现在

每个学生都可以与许多老师联系

每位教师都可以与很多学生联系

在轨道表示法中,他们应该在老师和学生之间 habtm 如何通过单表实现这一目标。

谢谢, Aashish

1 个答案:

答案 0 :(得分:1)

无法使用单个表格完成。在多对多关系中,无论如何,您总是需要一个存储关联的表。

在你的情况下,如果关联似乎是父/子,那么你只需要两个表而不是一个。

如何实现它,这取决于您的数据库结构和数据组织。您应该创建一个users_users表(作为habtm的一部分)并相应地配置引用。如果用户表似乎也用于STI,那么配置可能会有所改变。