代码之家  ›  专栏  ›  技术社区  ›  whirlwin

Ruby-on-Rails关系

  •  0
  • whirlwin  · 技术社区  · 14 年前

    这是家庭作业,就这么说的。

    我有一个项目叫冒险日历,它应该是一个降临日历(显然)。 我已经使登录/注销或创建新用户成为可能。登录后,您可以创建日历(临时日历)。每个日历有许多天,一天属于一个日历。此外,用户可以创建许多日历。

    所以,我想让一个用户可以与其他用户共享他们的日历,如果他们愿意的话。我有点卡住了,不知道从这里去哪里。我想也许可以加一个

    has_and_belongs_to_many :users
    

    日历,同样地:

    has_and_belongs_to_many :calendars
    

    致用户。。

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

    提前谢谢。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Trip    14 年前

    是的,你说得对。不过我觉得没那么复杂。日历不必有很多用户。只有用户有日历,这种关系在层次上是可以的。然后,对于日历,创建一个多态连接表,允许一个日历有许多用户与之关联。

    #user.rb
    
     has_many    :calendars
    
    
    #calendar.rb
    
     belongs_to  :many_users, :polymorphic => true
     has_many    :users, :as => :many_users
    

    你的日历表应该有 many_users_id ,和 user_id 字段。