我有Symfony应用程序,我尝试提交一个简单的表单到动作功能......显然我的注释是错误的,但我不知道如何解决它们。这是完整的错误
[语法错误]预期值,在方法中的第58位获得“POST” AppBundle \ Controller \ ProjectController :: showAction()in C:\ xampp \ htdocs \ TaskManager \ src \ AppBundle / Controller /(即 从...进口 “C:\ XAMPP \ htdocs中\任务管理\应用/配置\ 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()
?
答案 0 :(得分:4)
您似乎在{}
注释
@Method
)
尝试改变这一点:
* @Method("GET","POST")
对此:
* @Method({"GET","POST"})