0

在我的 Rails 应用程序中,我的用户可以登录一次并随意在帐户之间切换。当他们这样做时,我需要重新初始化他们的能力,因为权限是在数据库中的帐户级别设置的。

我最初的想法是在我检测到帐户发生更改但不确定如何完成此操作时初始化能力类。

我当然愿意接受任何其他想法。我是 CanCan 的新手。

4

1 回答 1

0

能力类是定义所有用户权限的地方。

例子:

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' 方法用于定义权限,需要两个参数。第一个是您为其设置权限的操作,第二个是您设置它的对象类别。

于 2013-05-10T08:09:08.080 回答