Rails模型三元组中的类关系很多例

时间:2012-04-20 04:50:29

标签: ruby-on-rails-3 activerecord relational-database

我有'用户'表,'群组'表和'邀请'表(联接表)。我试图建立'邀请者'(class_name'用户'),'被邀请者'(class_name'用户')和'组'(class_name'组'')之间的关系,其中'邀请'(class_name'邀请')是连接带有外键'invitor_id','invitee_id'和'group_id'的表。

(许多'邀请者'可以向许多'受邀者'发出'邀请'以加入许多'群组')

我通过在我的Model类中显式指定:foreign_key和:class_name尝试了几种方法,但是徒劳无功。我刚开始学习rails中的'activerecord relations'概念,我真的想有效地使用它。有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您在ActiveRecord条款中尝试解决的问题是“自我引用”关联。 Ryan Bates提供了一个很好的例子,几乎可以完全回答你的情况:

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

在他的示例中,您可以将“Friendship”替换为“Invitation”。您需要在其友情模型中添加group_id,以跟踪与Group相关的Invitation