2010-11-21 141 views
0

这是家庭作业,就这样提到。Ruby on Rails的关系

我有一个名为AdventCalendar的项目,它应该是一个出现日历(显然)。 我已经可以登录/注销或创建新用户。一旦你登录,你可以创建日历(降临日历)。每个日历都有很多天,每天都属于一个日历。另外,用户可以创建许多日历。

所以,我想要的是让用户可以与其他用户分享他们的日历,如果他们想。我有点卡住,不知道该从哪里出发。我想,也许到

has_and_belongs_to_many :users 

添加到日历,同样:

has_and_belongs_to_many :calendars 

用户..

我只是不知道如何实现它。 任何提示,或帮助,高度赞赏!

在此先感谢。

回答

2

是的,你说得对。虽然我认为它稍微不复杂。日历不必拥有很多用户。只有具有日历的用户才能分级关系。然后,对于日历,创建一个多态连接表以允许日历有许多用户关联。

#user.rb 

has_many :calendars 


#calendar.rb 

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

您的日历表应该有一个many_users_iduser_id场。