我正在使用 Symfony 1.4/Doctrine 的管理生成器。
有一个问题列表,我希望能够对每个问题执行自定义 object_action。
我正在寻找的是模仿_delete
对象动作,但在此之前进行一些计算。
所以我创建了一个新动作:
public function executeListDeleteAndRecalculate(sfWebrequest $request)
{
// Do the calculation
// Then delete the question
}
我将它添加到我的 generator.yml 中:
object_actions:
delete_and_recalculate: ~
新操作显示在管理生成器中,但删除部分不起作用。
我尝试了很多事情来使它工作:
- 完成所有计算后,我首先尝试重定向到
questionActions/delete
操作。 - 我还尝试将
executeDelete
代码复制到我的新操作中。
但每次我得到臭名昭著的
500 | 内部服务器错误 | sfValidatorErrorSchema _csrf_token [必需。]
所以我猜测 Symfony 在实际删除对象之前会做一些魔术。
您知道我缺少什么以及实现 deleteAndRecalculate 类型的操作的最佳方法是什么吗?
编辑:
当然,如果我删除$request->checkCSRFProtection();
一切正常。但我认为这很重要,所以我想找到一个更漂亮的解决方案。