我想知道如何定义一个能力类,并根据已登录的用户提供该能力类。
我正在使用Active Admin、Can Can和Devise,我已成功创建了User和AdminUser模型。
以下是我在ability.rb中的代码:
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new
if (user)
can :manage, Item
end
end
end
现在我已经使用这个wiki页面来确定我们确实可以定义一个自定义的ability文件,并使用它来代替ability.rb:
https://github.com/ryanb/cancan/wiki/changing-defaults
但是我想做的是,当“非管理员用户”登录时使用ability.rb,当管理员用户登录时使用自定义的ability。
附带问题:是否可以这样做,以便我不需要自定义文件,并且可以在一个ability.rb文件中设置权限?