2016-11-07 6 views
0

私のプロジェクトには問題があります。 エンティティから一部のデータを削除しようとすると、問題が発生します。私のコントローラはSesioジェネレータで生成されました。ここに私のコードです:Symfony2のフォームメソッドは、ProdとDevのバージョンが異なります

/** 
* Deletes 
* @Route("/{id}/delete", name="delete") 
* @Method({"DELETE"}) 
*/ 
public function deleteAction(Request $request, Task $task) { 

    $form = $this->createDeleteForm($task); 
    $form->handleRequest($request); 


    if ($form->isValid()) { 
     $em = $this->getDoctrine()->getManager(); 
     $em->remove($task); 
     $em->flush(); 
     $this->get('session')->getFlashBag()->add('notice_success', 'Success'); 
    } else { 
     $this->get('session')->getFlashBag()->add('notice_error', 'NO DELETE'); 
    } 
    return $this->redirectToRoute('task'); 
} 

/** 
* Creates a form to delete. 
*/ 
private function createDeleteForm(Task $task) { 
    return $this->createFormBuilder() 
        ->setAction($this->generateUrl('delete', array('id' => $task->getId()))) 

        ->add('submit', \Symfony\Component\Form\Extension\Core\Type\SubmitType::class, array('label' => 'Delete')) 
        ->getForm() 
    ; 
} 

私はあなたを伝えるために持っているDEV(app_dev.php)しかし、それはPRODバージョンで動作していない上の素敵なこのコードの動作。

私はこの問題を解決しようとしていますが、フォームメソッドをPOSTに変更しようとしましたが、PRODおよびDEVのプロパティが機能していました。 DELETEメソッドはPRODバージョンでは機能しません。

誰かに同様の問題がありますか?

+1

を参照してください。環境: '$ php bin/console cache:clear --env = prod'。また、 'var/cache'、' var/logs'、 'var/sessions'ディレクトリの権限を設定する必要があるかもしれません:' $ sudo chmod 777 -R var/cache var/logs/var/sessions'前後'cache:clear'コンソールコマンドを使用します。それから試してみてください。 –

答えて

0

AppCacheを使用している場合、カーネルはDELETEメソッドに追加された_methodパラメータを無視します。 Requestオブジェクトを作成する前に、あなたのweb/app.phpコールRequest::enableHttpMethodParameterOverride();で問題を解決するには

... 
$kernel = new AppCache($kernel); 
Request::enableHttpMethodParameterOverride();// <-- add this line 
$request = Request::createFromGlobals(); 
... 

あなたがPRODモードでは、あなたのアプリにアクセスすると、あなたはそのためにキャッシュをクリアする必要がhttp://symfony.com/doc/current/form/action_method.htmlhttp://symfony.com/doc/current/reference/configuration/framework.html#configuration-framework-http-method-override

関連する問題