这是家庭作业,就是这样提到的。
我有一个名为AdventCalendar的项目,它应该是一个出现日历,(显然)。 我已经可以登录/注销或创建新用户。登录后,您可以创建日历(Advent calendars)。每个日历都有很多天,一天属于一个日历。此外,用户可以创建许多日历。
所以,我想要的是让用户可以根据需要与其他用户分享他们的日历。我有点陷入困境,不知道从哪里开始。我想也许可以添加一个
has_and_belongs_to_many :users
到日历,同样地:
has_and_belongs_to_many :calendars
给用户..
我只是不知道如何实现它。 任何提示或帮助都非常感谢!
提前致谢。
答案 0 :(得分:2)
是的,你说得对。虽然我认为它不那么复杂。日历不必拥有很多用户。只有拥有日历的用户才能在层次结构中保持这种关系。然后,对于日历,创建一个多态连接表,以允许日历与许多用户关联。
#user.rb
has_many :calendars
#calendar.rb
belongs_to :many_users, :polymorphic => true
has_many :users, :as => :many_users
您的日历表应包含many_users_id
和user_id
字段。