2017-03-31 15 views
0

を働いていない削除は働いていたと私は私のプロジェクトで作業を続けたとして、それはどこかの道に沿って作業を停止しました。編集または削除しようとすると、このメッセージが表示されます。編集/私の編集/削除symfonyの3

DELETE /低木/ 1 /編集「が見つかりませんルート 『』:メソッドは許可されていません(許可:GET、POST、HEAD)」

私は、コントローラがこれを扱ったり、私がルーティングで何かが必要なのかと思いました.ymlも?

私は私のコントローラでこれを持っている:私は私のrouting.yml私が何を追加するために何が必要な場合は

<button type="submit" id="register-submit-btn" class="btn btn-success">Edit</button> 

    {{ form_start(delete_form) }} 
    <input type="submit" value="Delete"> 
    {{ form_end(delete_form) }} 

/** 
    * Displays a form to edit an existing Shrubs entity. 
    * 
    * @Route("/{id}/edit", name="shrubs_edit") 
    * @Method({"GET", "POST"}) 
    */ 
    public function editAction(Request $request, Shrubs $shrub) 
    { 
    $deleteForm = $this->createDeleteForm($shrub); 
    $editForm = $this->createForm('AppBundle\Form\ShrubsType', $shrub); 
    $editForm->handleRequest($request); 

    if ($editForm->isSubmitted() && $editForm->isValid()) { 
     $em = $this->getDoctrine()->getManager(); 
     $em->persist($shrub); 
     $em->flush(); 

     return $this->redirectToRoute('shrubs_edit', array('id' => $shrub->getId())); 
    } 

    return $this->render('shrubs/edit.html.twig', array(
     'shrub' => $shrub, 
     'edit_form' => $editForm->createView(), 
     'delete_form' => $deleteForm->createView(), 
    )); 
} 

/** 
* Deletes a Shrubs entity. 
* 
* @Route("/{id}", name="shrubs_delete") 
* @Method("DELETE") 
*/ 
public function deleteAction(Request $request, Shrubs $shrub) 
{ 
    $form = $this->createDeleteForm($shrub); 
    $form->handleRequest($request); 

    if ($form->isSubmitted() && $form->isValid()) { 
     $em = $this->getDoctrine()->getManager(); 
     $em->remove($shrub); 
     $em->flush(); 
    } 

    return $this->redirectToRoute('shrubs_index'); 
} 

/** 
* Creates a form to delete a Shrubs entity. 
* 
* @param Shrubs $shrub The Shrubs entity 
* 
* @return \Symfony\Component\Form\Form The form 
*/ 
private function createDeleteForm(Shrubs $shrub) 
{ 
    return $this->createFormBuilder() 
     ->setAction($this->generateUrl('shrubs_delete', array('id' => $shrub->getId()))) 
     ->setMethod('DELETE') 
     ->getForm() 
    ; 
} 

私の編集ページには、これを持っていますか?

答えて

0

があなたのルーティングにDELETEメソッドを追加しようとすると、このエラーメッセージが言っていることです。 DELETEメソッドを使用しますが、GET, POSTのみ許可します。

/** 
* Displays a form to edit an existing Shrubs entity. 
* 
* @Route("/{id}/edit", name="shrubs_edit") 
* @Method({"DELETE", "GET", "POST"}) 
*/ 
public function editAction(Request $request, Shrubs $shrub) 
+0

うまくいきました。ありがとうございました。 – Sowa

関連する問題