0

我有一个“用户”表、“组”表和“邀请”表(加入表)。我正在尝试在 'invitors'(class_name 'User')、'invitees'(class_name 'User') 和 'groups'(class_name 'Group') 之间建立关系,其中 'invitations'(class_name 'Invitation') 是加入具有外键“invitor_id”、“invitee_id”和“group_id”的表。

(许多“邀请者”可以向许多“被邀请者”发出“邀请”以加入许多“组”)

我通过在我的模型类中明确指定 :foreign_key 和 :class_name 尝试了几种方法,但徒劳无功。我刚刚开始学习 Rails 中的“activerecord 关系”概念,我真的很想有效地利用它。有人可以帮我解决这个问题。

4

1 回答 1

0

就术语而言,您在这里试图解决的问题ActiveRecord是“自我参照”关联。Ryan Bates 提供了一个很好的示例,几乎可以准确地回答您的情况:

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

在他的示例中,您可以将“ Friendship”替换为您对“”的想法Invitation。您需要在group_id他的 Friendship 模型中添加一个以跟踪Group与之Invitation相关的。

于 2012-04-23T01:17:59.807 回答