2017-11-27 4 views
0

/삭제/{id} 경로로 이동하지 않고 모달 팝인으로 삭제 만하면 광고를 삭제하고 싶습니다. dev에 환경에서 는, 문제는, 내 양식 유효성 검사가 그렇게 잘 작동하지 :symfony 2 csrf 유효화 토큰

form.html.twig :

<div class="well"> 
{# form_start(form, {'attr': {'class': ''}}) #} 
<form name="monext_perfclientbundle_advert" method="post" action="" class="" enctype="multipart/form-data"> 

{# Les erreurs générales du formulaire. #} 
{{ form_errors(form) }} 

<div class="form-group"> 
    {# Génération du label. #} 
    {{ form_label(form.title, "Titre de l'annonce", {'label_attr': {'class': 'col-sm-3 control-label'}}) }} 

    {# Affichage des erreurs pour ce champ précis. #} 
    {{ form_errors(form.title) }} 

    <div class="col-sm-4"> 
     {# Génération de l'input. #} 
     {{ form_widget(form.title, {'attr': {'class': 'form-control'}}) }} 
    </div> 
</div> 

<div class="form-group"> 
    {{ form_label(form.content, "Contenu de l'annonce", {'label_attr': {'class': 'col-sm-3 control-label'}}) }} 
    {{ form_errors(form.content) }} 
    <div class="col-sm-4"> 
     {{ form_widget(form.content, {'attr': {'class': 'ckeditor'}}) }} 
    </div> 
</div> 

{{ form_row(form.category) }} 

    <button id="addFile">Ajouter un fichier</button> 
    <div id="uploads"></div><br> 

{{ form_widget(form.save, {'attr': {'class': 'btn btn-primary'}}) }} 

{{ form_rest(form) }} 

{{ form_end(form) }} 

</form> 

info.html.twig :

<div class="modal-footer parente"> 
    <div><a href="#" class="btn" data-dismiss="modal">Annuler</a></div> 
    <div> 
    <form class="nomargin" action="{{ path('info_delete', {'id': advert.id}) }}" method="post"> 
    <input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}"> 
    <input type="submit" value="Supprimer" class="btn btn-danger"/>{{ form_rest(form) }}                   
</form> 
    </div> 
</div> 

deleteAction() :

  $form = $this->createFormBuilder()->getForm(); 
     if ($form->handleRequest($request)->isValid()) { 
      $em->remove($advert); 
      $em->flush(); 

      $request->getSession()->getFlashBag()->add('info', "L'annonce a bien été supprimée."); 
      return $this->redirect($this->generateUrl('info')); 
     } 

     return $this->render('MonextPerfclientBundle:Default:delete.html.twig', array(
      'advert' => $advert, 
      'form' => $form->createView() 
     )); 

이유가 무엇인지 잘 모르는 생산 환경에서 작동하지 않습니다 .. 내 덤프 : CSRF 토큰이 유효하지 않습니다. 양식을 다시 제출하십시오.

+0

이 자극 캐시는 명확했다? – habibun

+0

물론 친구 야 :) –

답변

0

Luax에 감사드립니다. 내 친구!

{{ form_start(form, {'action': path('info_delete', {'id': advert.id})}) }} 
    <input type="hidden" name="form[_token]" value="{{ csrf_token('form') }}"> 
    <input type="submit" value="Supprimer" class="btn btn-danger"/>{{ form_rest(form) }} 
    {{ form_end(form) }} 

문제가 해결 :)