簡體   English   中英

設計多個模型

[英]Devise with multiple models

如何設置具有多個模型的設計? 我已經嘗試使用 rolify 和 cancan 在我的數據庫中設置單獨的角色,但每個角色都有不同的方式來驗證自己的登錄身份。 例如,學生將有一個 student_number,而講師將有一個用戶名但沒有 student_number。 此外,還有許多其他屬性是講師所沒有的,而學生則是,反之亦然。

我是 Rails 4 的新手。

看起來類和繼承在這種情況下可以派上用場。 定義一個 User 模式並讓 Student 和 Lecturer 從該類繼承怎么樣?

class Student < User
  # student's peculiar attributes
end

class Lecturer < User
  # lecturer's peculiar attributes
end

然后你可以有兩個獨立的控制器和相應的視圖。 登錄頁面可能有兩個指向正確登錄頁面的鏈接。

我使用用戶模型和附加到用戶的“has_one”配置文件模型解決了這個問題,所有用戶使用同一個表登錄,但設計加載保存在配置文件中的另一個數據。

其他選項是僅使用 User 模型並在用戶不是學生時將 student_number 留空。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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