2010-11-21 12 views
0

これは宿題です。Ruby on Railsの関係

私はAdventCalendarと呼ばれるプロジェクトを持っています.AdventCalendarはAdvent Calendar(はっきりと)であるはずです。 私はログイン/ログアウト、または新しいユーザーの作成を可能にしました。ログインすると、カレンダー(Adventカレンダー)を作成できます。各カレンダーには日数が多く、1日は1カレンダーに属します。また、ユーザーは多くのカレンダーを作成できます。

だから、私が望むのは、ユーザーが他のユーザーとカレンダーを共有できるようにすることです。私は固くて、ここからどこに行くのか分からない。私は、カレンダーに

has_and_belongs_to_many :users 

を追加するかもしれないと思った、と同様に:

has_and_belongs_to_many :calendars 

ユーザーに..

私はちょうどそれを実装する方法がわかりません。 ヒントやヘルプは非常に高く評価されています!

ありがとうございます。

答えて

2

はい、ここにポイントがあります。私はそれほど複雑ではないと思うが。カレンダーには多くのユーザーがいる必要はありません。関係は階層的にカレンダーを持つユーザーだけでOKです。次に、カレンダーの場合、多態的な結合表を作成して、カレンダーに多数のユーザーを関連付けることができます。

#user.rb 

has_many :calendars 


#calendar.rb 

belongs_to :many_users, :polymorphic => true 
has_many :users, :as => :many_users 

あなたのカレンダーテーブルがmany_users_id、およびuser_idフィールドを持つ必要があります。