提交表单后收到以下错误消息:
控制器
“foo\modelbundle\controller\postcontroller::createAction()”
要求您为
“$title”参数(因为
不是默认值,或者因为
是之后的非可选参数
一个)。
表单不是由symfony framework表单功能创建的,它只是twig模板中的普通html:
<form action="{{ path('post') }}" method="post">
Title: <input name="title"><br>
Author: <input name="author"><br>
Content: <input name="content"><br>
<input type="submit">
</form>
这是POST路由的路由信息:
post:
pattern: /post
defaults: { _controller: FooModelBundle:Post:create }
requirements:
_method: POST
这是创建操作的定义:
public function createAction($title, $author, $content) {
请求的symfony分析器显示,$title、$author和$content设置为正确的值。
为操作提供所需参数的正确方法是什么?
他们不应该用post请求中的值填充框架吗?
我用的是symfony 2.0pr 10。
在这里交叉发布:http://forum.symfony-project.org/viewtopic.php?f=23&t=34427
最佳答案
我试着为你回答这个问题,你最初在http://forum.symfony-project.org/viewtopic.php?f=23&t=34427&p=115961#p115961
其思想是利用框架的表单生成特性,通过请求对象检索数据。
我希望你会觉得它很有帮助。