我正在用rails开发一个web应用程序,它需要一个用户拥有两个角色,他只需像Fiverr那样通过一次点击就可以在这两个角色之间切换。我只想知道能做到这一点的最好的方法和方法。我已经经历了“rolify”和“cancancan”,但还没有想出怎么做。任何帮助都将不胜感激。
发布于 2019-11-21 17:03:35
我建议再给“Rolify”和“Cancancan”一次机会。因为在Ability文件中定义权限后,您就可以在视图中使用类似于can?(:read, ModelName)的内容来检查当前用户是否具有权限。在其他区域,您可以使用user.has_role?(:admin)或w/e检查您想要命名的角色。
如果你不能让它们工作,你可以使用枚举来创建/检查角色。
class User < ApplicationRecord
enum role: %i[admin manager user]
end然后,您可以检查正确的枚举来查看某些内容,即:user.admin?
你也可以很容易地改变“角色”,只需为它创建一个控制器操作,然后调用user.admin!或任何你想要的枚举角色。
https://stackoverflow.com/questions/58970219
复制相似问题