これは本当に奇妙で、Twig テンプレートを更新した後に発生しました。
コントローラー部分
$registration = new Registration();
$form = $this->createForm(new RegistrationType(), $registration, array(
'action' => $this->generateUrl('account_create'),
));
return $this->render(
'AcmeCommonBundle:Security:register.html.twig',
array(
'form' => $form->createView(),
'contentBackColor' => 'canvasGreen'
)
);
テンプレート部分
{{ form_start(form) }}
{{ form_errors(form) }}
<p>All Fields Are Required</p>
<div class="form-row">
{{ form_label(form.firstname, "First Name") }}
{{ form_widget(form.firstname) }}
<div class="clear-fix"></div>
</div>
<div class="form-errors-row">
{{ form_errors(form.firstname) }}
</div>
<div class="form-row">
{{ form_label(form.lastname, "Last Name") }}
{{ form_widget(form.lastname) }}
<div class="clear-fix"></div>
</div>
<div class="form-errors-row">
{{ form_errors(form.lastname) }}
</div>
<div class="form-row">
{{ form_label(form.username, "Username") }}
{{ form_widget(form.username) }}
<div class="clear-fix"></div>
</div>
<div class="form-errors-row">
{{ form_errors(form.username) }}
</div>
<div class="form-row">
{{ form_label(form.email, "Email") }}
{{ form_widget(form.email) }}
<div class="clear-fix"></div>
</div>
<div class="form-errors-row">
{{ form_errors(form.email) }}
</div>
<div class="form-row">
{{ form_label(form.password, "Password") }}
{{ form_widget(form.password) }}
<div class="clear-fix"></div>
</div>
<div class="form-errors-row">
{{ form_errors(form.password) }}
</div>
<div class="form-row">
{{ form_label(form.confirm, "Confirm Password") }}
{{ form_widget(form.confirm) }}
<div class="clear-fix"></div>
</div>
<div class="form-errors-row">
{{ form_errors(form.confirm) }}
</div>
<div class="form-row">
{{ form_label(form.terms, "Terms & Conditions") }}
{{ form_widget(form.terms) }}
<div class="clear-fix"></div>
</div>
<div class="form-errors-row">
{{ form_errors(form.terms) }}
</div>
{{ form_end(form) }}
エラー
Argument 1 passed to Symfony\Component\Form\FormRenderer::searchAndRenderBlock() must be an instance of Symfony\Component\Form\FormView, null given
はっきりとわかるように、私は実際に FormView をレンダリングしています。それが null であるという事実は、これが RegistrationType() クラスに関連していると信じさせますが、そこでは何も変更されておらず、レンダリングするテンプレートだけでしょうか?