【发布时间】:2017-06-09 11:13:48
【问题描述】:
我有 Symfony 应用程序,我尝试提交一个简单的表单到操作函数……显然我的注释是错误的,但我不知道如何修复它们。这是完整的错误
[语法错误] 期望值,在方法中的位置 58 处获得 'POST' AppBundle\Controller\ProjectController::showAction() 在 C:\xampp\htdocs\TaskManager\src\AppBundle/Controller/(即 进口自 "C:\xampp\htdocs\TaskManager\app/config\routing.yml")。
这是我要在show.html.twig 中提交的表单
<form method="post">
<input type="submit" name="approve" value="Approve">
<input type="submit" name="reject" value="Reject">
</form>
其背后的原因是我只有一种类型的用户可以批准或拒绝一个项目。该用户不应仅仅为了更改这两个字段而去编辑页面。相反,它应该单击两个按钮,并且值应该在他不做任何其他事情的情况下改变。我的想法是把这段代码放在showAction() -
if (isset($_POST['approve'])) {
$project->setApproved(true);
$project->setRejected(false);
}
elseif (isset($_POST['rejected'])) {
$project->setRejected(true);
$project->setApproved(false);
}
更改这些值后,我打算刷新它们,因此当项目再次显示时,它将被批准或拒绝。这里的关键是不应该有字段。当我想展示一个项目时,我已经拥有了刷新它所需的一切。这是我对 showAction() 的注释 -
/**
* Finds and displays a project entity.
*
* @Route("/{id}", name="project_show")
* @Method("GET","POST")
*/
这里只是为了比较,我在editAction() 中的注释很好用
/**
* Displays a form to edit an existing project entity.
*
* @Route("/{id}/edit", name="project_edit")
* @Method({"GET", "POST"})
*/
我需要什么才能在我的showAction() 中提交这个简单的表格?
【问题讨论】: