0

私は自分の能力を次のように定義しようとしています:

class Ability
  include CanCan::Ability

  def initialize(user)

    user ||= User.new # guest user (not logged in)

    if user.role == 'admin'
      can :manage, :all
    elsif user.role == 'member'
      can :manage, [User,Post] , :id => user.id
      cannot :index, User # list users page
    else
      can :read, :all
    end
  end
end

そしてload_and_authorize_resource、私の上に含まれていPostsControllerます。

create定義を理解していれば、ゲスト ユーザーはアクションにアクセスできないはずですが、アクセスできPostsControllerます。

この動作の説明はありますか?

編集

解決しました!

before_filter :authenticate_user!認証にDeviseを使用しているため、追加するのを忘れていたことに気付きました。

4

1 に答える 1

0

解決しました!

before_filter :authenticate_user!認証にDeviseを使用しているため、追加するのを忘れていたことに気付きました。

于 2012-05-20T19:30:21.860 に答える