Ruby on Rails关系

时间:2010-11-21 17:12:45

标签: ruby-on-rails

这是家庭作业,就是这样提到的。

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

所以,我想要的是让用户可以根据需要与其他用户分享他们的日历。我有点陷入困境,不知道从哪里开始。我想也许可以添加一个

has_and_belongs_to_many :users

到日历,同样地:

has_and_belongs_to_many :calendars

给用户..

我只是不知道如何实现它。 任何提示或帮助都非常感谢!

提前致谢。

1 个答案:

答案 0 :(得分:2)

是的,你说得对。虽然我认为它不那么复杂。日历不必拥有很多用户。只有拥有日历的用户才能在层次结构中保持这种关系。然后,对于日历,创建一个多态连接表,以允许日历与许多用户关联。

#user.rb

 has_many    :calendars


#calendar.rb

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

您的日历表应包含many_users_iduser_id字段。