2012-04-20 11 views
0

私は 'users'テーブル、 'groups'テーブル、 'invitations'テーブル(join table)を持っています。私は '招待者'(class_name 'User')、 '招待者'(class_name 'User')と 'groups'(class_name 'Group')の間の関係を構築しようとしています。外部キー 'invitor_id'、 'invitee_id'、 'group_id'を持つテーブルRails三元多対多の場合のモデルクラスの関係

(多くの「Invitorsは」多くの「グループ」を結合するために多くの「招待」に「招待状」を与えることができます)

私は明示的に指定することによって、いくつかの方法を試してみました:FOREIGN_KEYと:CLASS_NAMEを私のモデルクラスではなく、無駄に。私は「アクティブレコード関係」の概念をレールで学習し始めました。本当に効率的に使いたいと思っています。誰かがこの問題で私を助けることができますか?

答えて

0

ここで解決しようとしている問題は、ActiveRecordという用語で、「自己参照」の関連です。

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

彼の例では、あなたが「Invitation」のあなたのアイデアで「Friendship」を置き換えることができます:ライアンベイツは、ほぼ正確に自分の状況を回答偉大な例を提供します。 Friendshipモデルにgroup_idを追加して、GroupInvitationがどのようなものであるかを把握する必要があります。