如何在Rails 5 + Cancancan中更新用户角色

时间:2018-05-26 14:13:37

标签: ruby-on-rails ruby rolify

我陷入了用户角色。我正在使用Cancancan设计宝石。 如何在不从表中删除角色的情况下更新用户角色。

我正在使用这样但这不起作用

存储在DB user_roles和Role Master

中的角色
 USERROLES = ["subscriber","user","moderator", "admin" ,"superadmin"].freeze # static for find value without call Role master

  def change_role
    if current_user.has_role?(:superadmin)
      @user_id = params[:id]
      if !params[:r_id].blank? && !params[:id].blank?
        @role_id = params[:r_id].to_i == 5 ? 4 : params[:role_id].to_i
        user = User.find(@user_id)
        user.remove_role user.roles.first.name
        user.add_role USERROLES[@role_id]
      end
    end
  end

0 个答案:

没有答案