0
在我的Rails应用程序中,我的用户可以登录一次并根据需要在帐户之间切换。当他们这样做时,我需要重新初始化他们的能力,因为权限是在数据库中的帐户级设置的。CanCan功能定义
我最初的想法是当我检测到账户中的变化但不知道如何完成这个时,初始化能力类。
我当然可以接受任何其他想法。我是CanCan的新手。
在我的Rails应用程序中,我的用户可以登录一次并根据需要在帐户之间切换。当他们这样做时,我需要重新初始化他们的能力,因为权限是在数据库中的帐户级设置的。CanCan功能定义
我最初的想法是当我检测到账户中的变化但不知道如何完成这个时,初始化能力类。
我当然可以接受任何其他想法。我是CanCan的新手。
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
的“可”的方法是用来定义权限,并且需要两个参数。第一个是您设置权限的操作,第二个是您设置的对象类。
“能力”实例与您的Rails应用程序中几乎所有其他对象一样,都是为每个请求创建和销毁的。您不需要手动重新初始化它。 – 2013-05-07 21:21:57