Я пытаюсь ограничить доступ к проектам, которые пользователь не создал. Это, кажется, работает хорошо с:Rails 3.2 CanCan - Ограничение доступа к проектам url not Owned
if user.has_role?(:Student)
can :create, Project
can :manage, Project, :user_id => user.id
end
(Side Вопрос: Есть ли лучший способ, чтобы написать, что ^^?)
Однако, я все еще могу получить доступ к URL:/Users/5/проектов
Я просто не вижу проекты, как ожидалось. Я бы предпочел, чтобы он сказал мне, что я не могу получить доступ к странице и перенаправить. У меня есть это в моем прикладном контроллере:
rescue_from CanCan::AccessDenied do |exception|
redirect_to root_url, :alert => exception.message
end
Но я не получаю сообщение о перенаправлении или ошибке. Нужно ли мне добавлять что-то еще к способностям, чтобы сделать эту работу?
У меня есть load_and_authorize_resource
как в ProjectController, так и в UserController.
Для записи, мои маршруты выглядеть следующим образом:
resources :users do
resources :projects
end