2011-09-15 7 views
1

私は多くのイベントを持ち、多くのグループに属するクラスUserを持っています。ユーザーがイベントを作成し、グループ、ユーザーID、またはその両方で招待を希望するユーザーを制限できます。Railsデザインパターン:1つの配布リストクラスのグループと個人

私はすべてのユーザーのIDとイベントのIDを格納するテーブルの招待状を作成すると考えています。各イベントについて、ユーザーAがグループZとユーザーBとCを招待することを選択すると、グループZに照会して、メンバーのすべてのユーザーIDを検索し、BとCのユーザーIDとともにInviteeテーブルに追加します。

私はそれが最良の方法ではないかもしれないと思います。私はそれを行うより良い方法があるのだろうかと思います。

ありがとうございます。

答えて

0

多態性の関連付けを参照してください。基本的に、どちらのエンティティタイプでもよい招待状が必要です。

+0

ありがとうございました。私は多相関連について考えましたが(Invitedと呼んでいますが)、それぞれのタイプに対応するためにInvitedメソッドをオーバーロードするのは難しいかもしれません。たとえば、招待者に電子メールを送信する場合は、個人と個人のグループ(つまり、ユーザーIDの追加クエリ)を処理する2つの方法が必要です。これについてコメントできますか? – AdamNYC

+0

何があってもそれらを別々に扱わなければならないでしょうか?これを処理するにはいくつかの方法があります。コードをどこに保存するか、送信する招待状を取得する方法などによって異なります。 –

+0

私がInvitedのための多くのメソッドを持っているなら、招待されたクラスにデカップリングの目的でそれを扱わせる方が良いです。もう1つの小さな利点は、複数のタイプとして特定のイベントに対してInvitedをループすることができることです。今のところ、私はホストとして招待状を送ることができるように、ユーザーのリストを保持するクラスとしてInvitedを使用します。 – AdamNYC

関連する問題