0
我瞭解CanCan的基本工作原理,並試圖遵循一些教程,但他們都沒有真正討論如何在我的應用程序中分配用戶角色。其他用戶設置的設計和CanCan角色? (Rails 4.0)
此外,我希望我的應用程序允許用戶將角色分配給其他用戶。例如,我的用戶可以創建項目,並將其他用戶分配給項目團隊。我目前正在使用角色模型來保存我的用戶角色。
如何讓用戶專門設置另一個用戶爲項目團隊角色,他們可以在哪裏管理項目?
我瞭解CanCan的基本工作原理,並試圖遵循一些教程,但他們都沒有真正討論如何在我的應用程序中分配用戶角色。其他用戶設置的設計和CanCan角色? (Rails 4.0)
此外,我希望我的應用程序允許用戶將角色分配給其他用戶。例如,我的用戶可以創建項目,並將其他用戶分配給項目團隊。我目前正在使用角色模型來保存我的用戶角色。
如何讓用戶專門設置另一個用戶爲項目團隊角色,他們可以在哪裏管理項目?
您可以使用一個模型,像can_manage_projects
class User < ActiveRecord::Base
has_many :roles
field :can_manage_projects, type: boolean
end
而且你的能力,你設定一個權限記者現場...
class Ability
def initialize(user)
can :manage Project if user.can_manage_project?
end
end
所以,你可以使用許可時你想要做的事情如:
class ProjectController
def assign_user(project, user)
project.users << user if can? :manage, Project
end
end
或
<body>
<% if can? :manage, Project %>
<%= link_to 'Assign selected user to Project', assign_user_project_path(project, user) %>
<% end %>
</body>
看看http://stackoverflow.com/questions/21071693/how-to-get-devise-to-work-with-multiple-models-or-roles-preferably-with-cancan/21072344 #21072344,這應該回答你的大部分問題 – Danny