Ruby on rails 设计并更改其他用户设置的角色?(Rails 4.0)

Ruby on rails 设计并更改其他用户设置的角色?(Rails 4.0),ruby-on-rails,devise,cancan,roles,Ruby On Rails,Devise,Cancan,Roles,我了解CanCan相当基本的工作原理,并尝试学习一些教程,但没有一个真正讨论如何在我的应用程序中分配用户角色 此外,我希望我的应用程序允许用户将角色分配给其他用户。例如,我的用户可以创建项目,并将其他用户分配给项目团队。我目前正在使用角色模型来保留我的用户角色 我如何允许用户专门将另一个用户设置为该项目团队角色,在该角色中他们可以管理项目 您可以使用一个带有类似can\u manage\u projects字段的模型 class User < ActiveRecord::Base h

我了解CanCan相当基本的工作原理,并尝试学习一些教程,但没有一个真正讨论如何在我的应用程序中分配用户角色

此外,我希望我的应用程序允许用户将角色分配给其他用户。例如,我的用户可以创建项目,并将其他用户分配给项目团队。我目前正在使用角色模型来保留我的用户角色


我如何允许用户专门将另一个用户设置为该项目团队角色,在该角色中他们可以管理项目

您可以使用一个带有类似can\u manage\u projects字段的模型

class User < ActiveRecord::Base

  has_many :roles

  field :can_manage_projects, type: boolean
end
因此,您可以随时使用该权限,执行以下操作:

class ProjectController

  def assign_user(project, user)
     project.users << user if can? :manage, Project
  end
end
class项目控制器
def分配用户(项目,用户)
project.users看看,它应该能回答您的大部分问题
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>