ruby-on-rails - 如何在 Rails 5 + Cancancan 中更新用户角色
问题描述
我被困在用户角色中。我正在使用带有设计宝石的 Cancancan。如何在不从表中删除角色的情况下更新用户角色。
我正在使用这样,但这不起作用
存储在数据库 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