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
これが私の能力ファイルです。最初に登録されたユーザーを管理者にして、Web ページ全体を編集するすべての権限を与えたいのですが、ユーザーは投稿の管理のみに制限され、ゲスト ユーザーは投稿の読み取りのみが許可されます。ただし、if canを使用する場合は?私のコードでは、管理者には通常のユーザーと同じ量のアクセス権が与えられています。私は何を間違っていますか?