ユーザーが作成しなかったプロジェクトへのアクセスを制限しようとしています。Rails 3.2 CanCan - プロジェクトURLへのアクセスを制限しています
if user.has_role?(:Student)
can :create, Project
can :manage, Project, :user_id => user.id
end
:これは、と正常に動作しているようだ(サイド質問:それを書くためのより良い方法はあります^^?)
をしかし、私はまだURLにアクセスすることができます:/ユーザー/ 5 /プロジェクト
期待どおりのプロジェクトが表示されません。むしろページにアクセスできず、リダイレクトすることができます。
rescue_from CanCan::AccessDenied do |exception|
redirect_to root_url, :alert => exception.message
end
しかし、リダイレクトやエラーメッセージは表示されません。その仕事をするために何か他のものを能力に加える必要がありますか?
ProjectsControllerとUsersControllerの両方にload_and_authorize_resource
があります。
、私のルートは次のようになります。
resources :users do
resources :projects
end