Моя реализация CanCan запрещает доступ, когда я вызвал метод can с помощью: create указанный. Вот моя реализация способности:
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # User is not logged in (Guest)
if user.id == nil # Guest user
can [:create, :update], Device
else
if user.admin?
can :manage, :all
else
can :manage, Spot, :user_id => user.id
end
end
end
end
По сути, я хочу, чтобы пользователи, не прошедшие проверку, могли отправлять запросы POST и PUT на действия создания и обновления моего контроллера Devices. Однако, когда я пытаюсь отправить POST-запрос, CanCan отклоняет этот запрос (меня просят войти).
В верхней части моего контроллера устройств я просто вызываю load_and_authorize_resouce.
Кто-нибудь видит, почему CanCan вызывает исключение AccessDenied для этого?