我刚刚开始尝试使用Symfony2.4.2构建表单并且非常令人沮丧。我已经成功地构建了第12章中的示例。我还尝试在另一个项目中构建基本相同的表单,在另一个包中,并且似乎总是以空表格结束:
<html>
<head></head>
<body>
<form action="" method="post" name="form"> </form>
</body>
</html>
创建此代码的代码:
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use DMV\form3Bundle\Entity\Task;
use Symfony\Component\HttpFoundation\Request;
class DefaultController extends Controller
{
public function newAction(Request $request)
{
// create a task and give it some dummy data for this example
$task = new Task();
$task->setTask('Write a blog post');
$task->setDueDate(new \DateTime('tomorrow'));
$form = $this->createFormBuilder($task)
->add('task', 'text')
->add('dueDate', 'date')
->add('save', 'submit')
->getForm();
return $this->render('DMVform3Bundle:Default:new.html.twig', array('form' => $form->createView(),));
}
}
new.html.twig:
{{ form(form) }}
我试过深入研究&#34; $ form&#34;在&#34;断点处返回$ this-&gt;渲染......&#34;假设要渲染表单的行,我在结构中看到表单元素文本,但它是一个非常大而复杂的结构,我不确定我应该看到什么。
任何建议都将不胜感激。
答案 0 :(得分:0)
您只需在new.html.twig
模板中呈现表单,例如:
{# src/Acme/TaskBundle/Resources/views/Default/new.html.twig #}
{{ form(form) }}
但是如果你使用Symfony版本&lt; 2.3 ,请尝试使用以下内容:
{# src/Acme/TaskBundle/Resources/views/Default/new.html.twig #}
<form action="{{ path('task_new') }}" method="post" {{ form_enctype(form) }}>
{{ form_widget(form) }}
<input type="submit" />
</form>