0
我試圖定義我的能力如下:如何正確定義Ability.rb(CanCan)?
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
並已包括在我的PostsController
的頂部load_and_authorize_resource
。
如果我理解了定義,來賓用戶不應該有權訪問PostsController
中的create
行爲,但他們這樣做。
對此行爲的任何解釋?
編輯
解決了!
剛纔意識到我忘了添加before_filter :authenticate_user!
,因爲我使用Devise進行身份驗證。