我正在使用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();`,一切都可以正常工作。但我认为这非常重要,所以我希望找到一个更好的解决方案。