У меня есть неуспокоительный контроллер, который я пытаюсь использовать для авторизации канкана! способ применения разрешений.
У меня есть действие delete_multiple, которое начинается так
def delete_multiple
@invoices = apparent_user.invoices.find(params[:invoice_ids])
Я хочу убедиться, что у пользователя есть разрешение на удаление всех этих счетов, прежде чем продолжить. Если я использую
authorize! :delete_multiple, @invoices
в разрешении отказано. Моя способность.rb включает в себя следующее
if user.admin?
can :manage, :all
elsif user.approved_user?
can [:read, :update, :destroy, :delete_multiple], Invoice, :user_id => user.id
end
Это вопрос циклического прохождения моего массива и индивидуального вызова авторизации или есть более разумный способ сделать что-то? Мне начинает казаться, что выполнять авторизацию вручную было бы проще, чем с помощью канкана для сложного неуспокоительного контроллера (хотя в моем приложении есть много других спокойных контроллеров, где он отлично работает).