【问题标题】:How to solve ContextErrorException: Catchable Fatal Error:如何解决 ContextErrorException:可捕获的致命错误:
【发布时间】:2016-12-22 08:29:50
【问题描述】:

我正在使用 symfony2。实际上我已经使用表单类型创建了表单。但是当我渲染表单时,出现以下错误

ContextErrorException:可捕获的致命错误:传递给 Symfony\Component\Form\FormRenderer::searchAndRenderBlock() 的参数 1 必须是 Symfony\Component\Form\FormView 的实例

这是我的代码

控制器

$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>

我做错了什么?

【问题讨论】:

  • $myForm-&gt;createView();

标签: php forms symfony twig


【解决方案1】:

'form' =&gt; $myForm 替换为'form' =&gt; $myForm-&gt;createView()。函数createView() 将创建表单对象的视图。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    相关资源
    最近更新 更多