2012-10-25 49 views

回答

0

我真的不認爲這兩種方法是不正確的,我認爲這是更符合您希望您的模型看上去比你的數據如何存儲。這實際上取決於您想要堅持的角色類型以及您計劃如何檢查用戶角色的信息(如果有)。

如果您正在尋找簡單地存儲角色(管理員,用戶,版主等)的名單,然後序列化數組屬性可能是罰款。在另一方面,如果你的角色具有存儲在它們的更多信息(例如:授予的行爲或爲每個角色的權限),這可能是有益的分別打造出了一個UserRole模型,並嵌入在你User模型。

居然還有另一種不錯的選擇,如果你只是存儲的角色,每個用戶可以是一個或多個角色的成員名單。你實際上可以用我們的位掩碼。使用這種方法,您的用戶角色將被存儲爲一個簡單的整數,並且您會使用一些ruby的按位運算符將該值映射到一組角色。

http://railscasts.com/episodes/189-embedded-association?view=asciicast

相關問題