Можно ли получить доступ к параметрам контроллера при определении способностей в ability.rb
?
У меня есть мероприятие и пользователи, которые могут принять в нем участие или создать его. Похоже, я мог бы создать другое действие контроллера для каждого возможного сценария, например. пользователь подписывается на событие, или создатель удаляет кого-то из мероприятия. Однако я думаю, что было бы намного легче читать, если бы было меньше действий и было бы возможность определять возможности на основе того, какие параметры передаются от клиента.
Отвечать
У @chumakoff ниже есть полезная информация, которая помогла объяснить, как работает CanCanCan. Я решил разрешить эти действия по умолчанию в ability.rb
, а затем выдать ошибку, например raise CanCan::AccessDenied.new("You cannot delete someone else from this event")
в контроллере, если я обнаружил, что отправляются неверные идентификаторы параметров пользователя / события.