尝试删除没有表单按钮的实体,而是删除链接,但是当我在注释中创建方法时,该方法没有设置为DELETE。
错误:
No route found for "GET /edit/delete/GREEN": Method Not Allowed (Allow: DELETE)
我的删除功能:
/**
* @param Request $request
* @param $dano
* @Route("/delete/{dano}", name="edit_deleteda")
* @Method("DELETE")
*/
public function deleteDAAction($dano) {
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('CIRBundle:SumitomoMain')->findOneByDano($dano);
if (!$entity) {
throw $this->createNotFoundException('Unable to find entity to delete');
}
$em->remove($dano);
$em->flush();
return $this->render('CIRBundle:Edit:delete.html.twig', array(
'entity' => $entity
));
}
Twig模板:
....codes...
<td><a href="{{ path('edit_editeda', { 'dano': dano.dano }) }}" class="action">Edit</a> <a href="{{ path('edit_deleteda', { 'dano' : dano.dano }) }}" class="action">Delete</a></td>
</tr>
答案 0 :(得分:1)
你正在混合苹果和橘子。
是的,@Method
通货紧缩是正确的,但它应该与HTTP协议和自定义制作的请求一起使用 - 那些可以定义 http方法
您可以详细了解HTTP的方法 here