簡體   English   中英

具有設計路徑的用戶和管理員之間的唯一ID

[英]Unique IDs between Users and Admins with Devise Rails

我已經安裝了Devise並使用本教程中的選項1創建了用戶和管理員https://github.com/plataformatec/devise/wiki/How-To:-Add-an-Admin-role

現在我需要一些幫助。 添加管理員時,它會創建一個不同的表,並且可能會出現管理員和普通用戶具有相同ID的情況。

那么我究竟如何從用戶和管理員那里獲取信息呢? 比方說,我想顯示所有用戶? 我是否必須遍歷users表然后遍歷admins表?

或者,如果我正在顯示帖子。 我如何知道要查找哪個表來獲取用戶或管理員信息?

我知道我可以在users表中添加一個角色列,但我想避免這種情況。

我希望這有道理哈哈

我強烈建議使用單表繼承(STI)。 您可以通過在users表中添加一個名為type的列和一個string數據類型來創建STI,並創建一個admin模型和一個normal_user模型,兩個模型都將繼承devise gem的user模型。

class NormalUser < User
end

class Admin < User
end

type列是保留字,它將根據您創建的用戶類型保存NormalUserAdmin值。

要創建管理員,請使用Admin.create(...)並創建普通用戶使用NormalUser.create(...) ,其中點是AdminNormalUser的屬性

暫無
暫無

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

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