2016-12-22 5 views
2

Ich benutze symfony2. Eigentlich habe ich ein Formular mit dem Formulartyp erstellt. aber wenn ich das Formular machen, folgende Fehler aufgetretenSo lösen Sie ContextErrorException: Abfangbarer schwerwiegender Fehler:

ContextErrorException: Catchable Fatal Error: Argument 1 passed to Symfony\Component\Form\FormRenderer::searchAndRenderBlock() must be an instance of Symfony\Component\Form\FormView

Hier ist mein Code

-Controller

$profile = new profile(); 
$myForm = $this->createForm(new ProfileFormType(), $profile); 
return $this->render('ProfileBundle:Profle:profile.html.twig', array(
    'form' => $myForm, 
    'vendor' => $vendor, 
    'productId' => $productId 
)); 

profile.twig.html

<form action="{{ path('profile_new') }}" method="POST" {{ form_enctype(form) }} id="frmProfile"> 

    <div class="box-body col-sm-6"> 
     <div class="form-group"> 
      <label class="control-label">First Name: </label> 
      {{ form_widget(form.firstName, { 'attr': { 'placeholder': 'Title', 'class': 'form-control'}}) }} 
      <div class="serverError">{{ form_errors(form.firstName) }}</div> 
     </div> 
    </div> 

    <div class="box-body col-sm-6"> 
     <div class="form-group"> 
      <label class="control-label">Last Name: </label> 
      {{ form_widget(form.lastName, { 'attr': { 'placeholder': 'Title', 'class': 'form-control'}}) }} 
      <div class="serverError">{{ form_errors(form.lastName) }}</div> 
     </div> 
    </div> 

    <div class="box-body col-sm-6"> 
     <div class="form-group"> 
      <label class="control-label">User Name: </label> 
      {{ form_widget(form.username, { 'attr': { 'placeholder': 'Title', 'class': 'form-control'}}) }} 
      <div class="serverError">{{ form_errors(form.username) }}</div> 
     </div> 
    </div> 
</form> 

Was ich mache falsch?

+3

'$ myForm-> createView();' – Beginner

Antwort

4

Ersetzen Sie 'form' => $myForm durch 'form' => $myForm->createView(). Die Funktion createView() erstellt die Ansicht des Formularobjekts.

return $this->render('ProfileBundle:Profle:profile.html.twig', array(
    'form' => $myForm->createView(), // << Add "->createView()" 
    'vendor' => $vendor, 
    'productId' => $productId 
)); 
+0

Es hat funktioniert! Danke..wie dumm ich bin;) – Janvi

Verwandte Themen