Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Symfony2中插入表单创建的正确路径_Symfony_Symfony Forms_Symfony 2.3 - Fatal编程技术网

如何在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")