2012-04-20 53 views
0

我有'用户'表,'组'表和'邀请'表(连接表)。我试图在'invitations'(class_name'Invitation')是连接的'invitor'(class_name'User'),'invitees'(class_name'User')和'groups'(class_name'Group')之间建立关系包含外键'invitor_id','invitee_id'和'group_id'的表。Rails三元组中的模型类关系许多案例

(很多“Invitors”可以给“邀请”到很多“受邀者”加入很多“组”)

我试过几种方法通过明确:foreign_key和:CLASS_NAME在我的模型类,却徒劳无功。我刚开始学习rails中的'主动记录关系'概念,我真的很想有效地使用它。有人可以帮我解决这个问题。

回答

0

你试图在这里解决的问题,在ActiveRecord条款,是一个“自我指涉”的协会。瑞安贝茨提供了回答您的情况几乎完全一个很好的例子:

http://railscasts.com/episodes/163-self-referential-association

在他的例子中,你可以替换“Friendship”与您的“Invitation”的想法。您需要在他的Friendship模型中添加group_id以跟踪哪个GroupInvitation相关。