簡體   English   中英

設計和多個用戶

[英]devise and multiple users

我試圖讓Devise創建一個用戶模型,並將不同的角色作為一個單獨的模型。 我的用戶模型(來自rails g devise User)有一個電子郵件,名字,姓氏和角色字段。

角色是管理員,旁觀者,競爭者。 因此,我創建了所有繼承自User模型的管理員,旁觀者和競爭者模型。

我從設計和多個“用戶”模型中得到了最佳答案,我可以創建一個用戶。 但是,我的競爭對手模型遷移還包含其他模型不需要的其他信息,例如比賽名稱和位置。 當我執行Competitor.create()並輸入創建設備用戶所需的信息時,即使我對比賽名稱和位置的競爭者模型有空約束,用戶也會存儲在數據庫中。

當我做Spectator.all時,最近創建的競爭對手數據顯示我認為它不應該....

我的問題是我應該如何設置它,以便除非提供比賽名稱和位置,否則不會創建競爭對手用戶。

另一個問題是為什么當我做Spectator.all是競爭對手的信息顯示?

有一種更好的方法可以為多個用戶使用設計。

使用Rolify Gem

它使開發更容易更快,更安全。 您可以在“ 單用戶模型和每個角色都有一個單獨的模型 ”的問題中根據您的要求進行配置

由Rolify Gem開發人員使用Rolify gem + Devise的教程

如果你想要一個授權系統,那么請去Ryan Bates創建的CanCan 使用CanCan,您可以擁有許多角色。 我正在使用它與設計沒有問題。 請參閱基於角色的授權單獨的角色模型 並查看關於CanCan的ScreenCast

暫無
暫無

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

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