CanCan能力定义

时间:2013-05-07 19:42:01

标签: ruby-on-rails cancan

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

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

我当然对任何其他想法持开放态度。我是CanCan的新手。

1 个答案:

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