class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new
if user.admin == 1 #admin
can :manage, :all
elsif
user.id != nil # registred users
can :read, :all
can :create, Post
cannot :manage, User
else
can :read, :all # guest user (not logged in)
cannot :manage, User
end
这是我的能力档案。我希望它使第一个注册用户成为管理员,并赋予他们编辑整个网页的所有权限,而用户只能管理帖子,而访客用户只能阅读帖子。但是,当我使用 if can 时?在我的代码中,管理员获得了与普通用户相同的访问权限。我究竟做错了什么?