感謝您的閱讀。Rails 4設計多個用戶模型STI
我正在使用Devise和Rails 4.我想添加多個用戶模型(admin,usertype1,usertype2),以便它們從主用戶模型繼承。我已經搜索了很多帖子,並得出結論,我可以使用CanCan,我不想,或者我可以使用Single Table Inheritance。
我看到它的方式是將類型字符串列添加到我用Devise創建的主用戶模型中。我還需要將父級的每個子級擴展爲:
class Admin < User
end
class Usertype1 < User
end
class Usertype2 < User
end
我的問題是:接下來要做什麼?我如何知道如何訪問類型列?我是否還需要替代current_user輔助方法的設計控制器,例如我可以有current_admin例如?
再次感謝。
謝謝隊友!我已經成功添加到我的項目,他們都工作。現在,我明白easy_roles爲您的用戶模型添加了一個新列。我不明白的是它在哪裏創建子類?它是否這樣做? –
你是什麼意思? STI子類?你不會再需要它們了。您可以定義不同的方法來獲取不同的用戶角色。例如,你定義一個def has_role?(角色)或類似的東西,你可以找回不同的角色。您還可以通過提供的位掩碼解決方案向一位用戶添加多個角色。 – Mattherick
那些子類的數據呢?它存儲在哪裏或者我怎麼能夠爲每個子類添加特定的列?再次感謝 –