php - 如何解决ContextErrorException : Catchable Fatal Error:

标签 php forms symfony twig

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

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

这是我的代码

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>

我做错了什么?

最佳答案

'form' => $myForm 替换为 'form' => $myForm->createView()。函数createView()将创建表单对象的 View 。

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

关于php - 如何解决ContextErrorException : Catchable Fatal Error:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41278763/

相关文章:

Php排行榜问题

php - 如何从数据库创建选择选项?

javascript - 如何创建一个 Javascript 表单,根据下拉选项创建一个段落?

javascript - 在 jQuery FullCalendar 中使用多个文件获取事件

php - sonataIntlBundle 问题 - 我无法使用 composer 安装

php - 如何使用 PHP 在单个页面中使用两个不同的查询创建两个分页?

php - 验证应该在 Form 对象或模型中完成吗?

php - 避免在不使用 select 语句的情况下根据日期输入重复条目

php - 在我的部分页面上使用 Php 到 "No cache"的方法?

symfony - Doctrine postPersist 事件已弃用 getEntity 函数