我在 Symfony 中有一个包含人员和组的应用程序,其中一个人可能拥有多个组的成员资格。要从组中删除一个人,我目前在“groupMembers”模块中有一个操作,它采用“删除”方法并从多对多实体“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]
要执行此操作,用户需要登录,因此我在模块的 security.yml 中使用 sfGuard 对其进行了限制:
remove:
is_secure: true
因此,在单击“删除”链接后,未登录的用户将被带到登录屏幕,但单击“提交”后,请求不再是“删除”而是“获取”,这意味着类似的 add_to_group路线被称为!
add_to_group:
url: /group-membership/:group_id/:person_id
param: { module: groupMembers, action: create }
...
有什么方法可以让 sfGuard 模拟删除操作并正确传递参数,还是我必须使用不同的路由?