簡體   English   中英

跟蹤與第三方關系定義的多個角色

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM