ユーザーがリストを作成し、他のユーザーをリストに招待できる RoR アプリケーションを開発しています。招待データ モデルにどのようにアプローチすればよいかわかりません。ユーザー招待モデルはかなり一般的だと思いますが、良い例は見つかりませんでした。
どのユーザーも自分のリストに他のユーザーを招待できるようにしたいと思います。招待された人 (別のユーザー) は、招待を受け入れるか拒否することができます。
現在、ユーザーとリストの間に多対多の関係があります。これら 2 つのエンティティ (lists_users) 間の結合テーブルは、招待に関する情報を保持する必要がありますか? 別のテーブルである招待状を作成し、ユーザーが招待状を承諾または拒否するときにそこからレコードを追加および削除した方がよいでしょうか? 後者が望ましい場合、リストの所有者 (ユーザー) とリストの招待者 (ユーザー) をどのように処理すればよいですか?
アドバイスをいただければ幸いです。ありがとう!
解決
ユーザーモデルで外部キーを含むテーブルを指定する必要があることがわかりました。すなわち
has_many :owned_lists, :class_name => "List", :foreign_key =>"owner_id"
has_many :created_invitations, :class_name => "Invitation", :foreign_key =>"invitor_id"
has_many :received_invitations,:class_name => "Invitation", :foreign_key => "invitee_id"
-ニック