如何在Symfony2中插入表单创建的正确路径
我的模板中有以下代码:如何在Symfony2中插入表单创建的正确路径,symfony,symfony-forms,symfony-2.3,Symfony,Symfony Forms,Symfony 2.3,我的模板中有以下代码: <form action="{{ path('wba_create') }}" method="post" {{ form_enctype(form) }}> {{ form_widget(form) }} <p> <button type="submit">Registrar</button> </p> </form> 但是在
<form action="{{ path('wba_create') }}" method="post" {{ form_enctype(form) }}>
{{ form_widget(form) }}
<p>
<button type="submit">Registrar</button>
</p>
</form>
但是在呈现的HTML中,我得到了
为什么?我在这里错过了什么?这里的代码没有问题。。。您正在将wba\u create
配置为路由/
@Route("/", name="wba_create")
这是/app_dev.php/中的尾随斜杠。。。app_dev.php位于url中,因为您在开发环境中通过
app_dev.php
aka访问页面。如果您在开发模式下运行Symfony应用程序,则app_dev.php会处理每个页面(包括显示表单的页面)
您的代码应该可以工作,不要担心添加到URL的/app_dev.php/,如果您使用生产环境,它将不存在。那么,为了在表单发送时执行
create
操作,正确的代码是什么?我有点迷路了,这是正确的代码,只要你希望你的提交url是/
。。。你到底有什么问题?如果您提交表单,它将使用http POST方法发送到/
。您的控制器应该会收到请求。我需要将表单数据发送到TestController/createAction()
,它将处理表单并使用实体保存数据这正是此代码当前发生的情况。你挂在哪里?只需输入一个简单的'die'('hello from testcontroller:create');进入createAction以检查是否实际调用了该操作。。。提交表格,您将看到。。。“来自testcontroller的你好:创建”。。。还是你呢?哦,对不起,我来自Symfony1,情况有点变化,这对我来说是新的!你说得对,我被重定向到创建。现在,如果我在注释中定义了一个show操作作为@Route(“/{id}”,name=“wba_show”)
,我可以使用这个$this->redirect($this->generateUrl('wba_show',array('id'=>$entity->getTypeId())重定向到该函数代码>?
@Route("/", name="wba_create")