У меня есть приложение с людьми и группами в Symfony, где человек может иметь членство в нескольких группах.Чтобы удалить человека из группы, в настоящее время у меня есть действие в модуле «groupMembers», которое использует метод «delete» и удаляет пару из сущности «многие ко многим» group_membership.В настоящее время маршрут выглядит примерно так:
remove_membership:
url: /group-membership/:group_id/:person_id
class: sfPropelRoute
options: { model: GroupMembership, type: object }
param: { module: groupMembers, action: remove }
requirements:
sf_method: [delete]
Чтобы выполнить это действие, пользователь должен войти в систему, поэтому я ограничил его с помощью sfGuard в security.yml модуля:
remove:
is_secure: true
Таким образом, после нажатия на ссылку «удалить», пользователь, который не вошел в систему, попадает на экран входа в систему, но после нажатия «отправить», запрос больше не является «удалить», а «получить», что означаетВместо этого вызывается аналогичный маршрут add_to_group!
add_to_group:
url: /group-membership/:group_id/:person_id
param: { module: groupMembers, action: create }
...
Есть ли способ заставить sfGuard эмулировать действие удаления и правильно передать параметры, или мне придется использовать другой маршрут?