0

'users'テーブル、'groups'テーブル、および'invitations'テーブル(joinテーブル)があります。'invitors'(class_name'User')、'invitees'(class_name'User')、および'groups'(class_name'Group')の間に関係を構築しようとしています。ここで、'invitations'(class_name'Invitation')は結合です。外部キー'invitor_id'、'invitee_id'および'group_id'を持つテーブル。

(多くの「招待者」は、多くの「グループ」に参加するために、多くの「招待者」に「招待」を与えることができます)

Modelクラスで:foreign_keyと:class_nameを明示的に指定することで、いくつかの方法を試しましたが、無駄でした。Railsで「activerecordrelations」の概念を学び始めたばかりですが、それを効率的に活用したいと思っています。誰かがこの問題で私を助けることができますか?

4

1 に答える 1

0

ここで解決しようとしている問題ActiveRecordは、「自己参照」の関連付けです。Ryan Batesは、あなたの状況にほぼ正確に答える素晴らしい例を提供します。

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

Friendship彼の例では、「」を「」のアイデアに置き換えることができますInvitation。が関連していることgroup_idを追跡するために、彼の友情モデルにを追加する必要があります。GroupInvitation

于 2012-04-23T01:17:59.807 に答える