我得知這個問題上有很多問題,但沒有人真正回答我在找什麼。如何使用cancan和devise添加角色rolify?
我正在嘗試使用rolify在cancan中定義我的角色,我能夠通過rails控制檯創建管理員角色併爲新用戶設置默認角色。
我的問題是如何設置一個批次的角色,以不同的價值觀和分配這些角色給某些用戶?
如果你有一個很好的教程,說明這個過程中,這將有助於爲好,截屏首選。
的感謝!
我得知這個問題上有很多問題,但沒有人真正回答我在找什麼。如何使用cancan和devise添加角色rolify?
我正在嘗試使用rolify在cancan中定義我的角色,我能夠通過rails控制檯創建管理員角色併爲新用戶設置默認角色。
我的問題是如何設置一個批次的角色,以不同的價值觀和分配這些角色給某些用戶?
如果你有一個很好的教程,說明這個過程中,這將有助於爲好,截屏首選。
的感謝!
如何創建一個批處理的角色?
您可以在DB/seeds.rb文件,該文件每次執行這樣做你運行耙分貝:種子
[:admin, :author, :contact, :user].each do |role|
Role.find_or_create_by_name({ name: role }, without_protection: true)
end
添加一個角色,有人喜歡
@user.add_role :admin
完成您檢查用戶是否具有使用
@user.has_role? :admin
而且,正如史蒂夫已經說過,https://github.com/EppO/rolify documen一定的作用應該讓你動起來!
我想你的問題比這個更復雜,但簡單的答案是你使用add_role
。除了將它們分配給某些東西外,您不需要做任何事情來創建角色。所以,如果簡是全球範圍內的管理和喬是一個苦工,你可以只使用:
User.where(name: 'Joe').add_role :peon
User.where(name: 'Jane').add_role :admin
您也可以針對特定的類或類的實例添加角色,但以上是最直接回答你題。在教程中,github上的README相當不錯。
我想指出的是,在丹尼的回答所用的方法不Rails中4
我找到工作什麼工作對我來說是把這個到您的seeds.rb文件
[:admin, :author, :contact, :user].each do |role|
Role.where({ name: role }, without_protection: true).first_or_create
end
這似乎是你使用Rails 4所要求的!這是基於這個答案above
這正是我想要的,謝謝! –