別のユーザーとしてサインインしているときにアクセスしても、 AccessDeniedusers/1/edit
エラーは発生しません。その理由はわかりません。
authorize_resource only: [:edit, :update]
def edit
@user = User.find(params[:id])
end
def update
@user = User.find(params[:id])
if @user.update_attributes(params[:user])
redirect_to @user
else
render 'edit'
end
end
能力クラス:
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new
can :read, :all
can :create, User
can :create, Group
can :update, User, id: user.id
end
end
に変更authorize_resource
するとload_and_authorize_resource
、期待どおりに動作します。しかし、これは関係ないはずですよね?