2011-04-09 45 views
5

我正在尋找一種在系統中建模用戶不同類型的好方法。爲了註冊,他/她可以選擇成爲學生,導師或兩者。成爲學生或導師有不同的屬性。學生和導師也將有不同的配置文件模板佈局。如何在Rails中處理多個用戶類型?

你會如何設計你的控制器和模型的這種問題?

回答

3
  1. 我會創造一個User能夠保持一Mentor類和/或Student類。通過這種方式,您的不同屬性會彼此分離,而User類中的相同屬性仍然存在。
    在控制器中,您可以渲染模板(或部分),具體取決於用戶擁有的實例。一個給學生,一個給導師,一個給兩個。

  2. 您也可以使用繼承(User父與MentorStudentBoth作爲孩子的)。你想看的關鍵詞是Single Table Inheritance

Imho問題是兩種選擇。這就是爲什麼我更喜歡第一種解決方案。

+3

「Both」子類的概念對我來說感覺非常尷尬,除非有人同時創造了新的屬性。絕對喜歡你的第一個解決方案。 – 2011-04-09 13:26:18

相關問題