【发布时间】:2011-04-10 17:09:47
【问题描述】:
提交表单后我收到以下错误消息:
控制器 “Foo\ModelBundle\Controller\PostController::createAction()” 要求您提供一个值 "$title" 参数(因为那里 没有默认值或因为有 在此之后是一个非可选参数 一)。
表单不是由 symfony 框架表单功能创建的,它只是 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:
pattern: /post
defaults: { _controller: FooModelBundle:Post:create }
requirements:
_method: POST
这是创建动作的定义:
public function createAction($title, $author, $content) {
请求的 symfony 分析器向我显示,$title、$author 和 $content 设置为正确的值。
为操作提供所需参数的正确方法是什么?
框架不应该用 POST 请求中的值填充它们吗?
我正在使用 symfony 2.0 PR 10。
也在这里交叉发布:http://forum.symfony-project.org/viewtopic.php?f=23&t=34427
【问题讨论】: