[英]Rails multiple roles defined in relationship with a third party
我正在構建一個具有用戶,學生,導師,會議等課程的小型應用程序。
每個用戶可以在一個會議中擔任導師,但在另一個會議中擔任學生。 我一直在考慮如何為這些關系建模。
現在,我有一個用戶模型,一個單獨的參與者模型,其屬性為Role =“ tutor” /“ student”。 導師和學生使用單表繼承擴展參與者,並且屬於會議。
但是,我想知道這是否是一個好的設計。 (這對我來說似乎並不直觀)。
在我的情況下,您會怎么做?
謝謝。
這是可以接受的,但還有其他更干凈的方法。 您可以這樣設計Meeting
模型:
has_and_belongs_to_many :users, :as => :studens
belongs_to :tutor, :foreign_key => 'tutor_id', :class_name => 'User'
您的User
模型:
has_and_belongs_to_many :meetings, :as => :meetings_taken
has_many :meetings_given, :foreign_key => 'tutor_id', :class_name => 'Meeting'
因此,您只需要兩個模型。
//編輯
對於提議,接受,拒絕...。我將創建一個Invitation
模型user_id:integer
(被邀請用戶), meeting_id
(通過此方法,您知道誰因為會議屬於導師而被允許邀請其他人), status:string
(正在等待,接受,可以選擇進行切片)或explaination:text
(當有人進行切片時)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.