在我的rails应用程序中,我的用户可以登录一次,并根据需要在帐户之间切换。当他们这样做时,我需要重新初始化他们的能力,因为权限是在数据库中的帐户级别设置的。
我最初的想法是在检测到帐户中的更改但不确定如何完成此操作时初始化能力类。
我当然对任何其他想法持开放态度。我是CanCan的新手。
答案 0 :(得分:0)
Ability类是定义所有用户权限的地方。
示例:
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.admin?
can :manage, :all
else
can :read, :all
end
end
end
'can'方法用于定义权限并需要两个参数。第一个是您正在设置权限的操作,第二个是您正在设置它的对象类。