我有控制器,我有两个动作: createAction 和 showAction 。
createAction 从表单类创建表单并将其呈现为 index.html.twig 。
showAction 进行数据库查询并获取一些数据并将其呈现为 index.html.twig (与之前的.twig文件相同)。
如何在一条路线中执行两项操作?我尝试在 routing.yml 中执行两个相同的路由但名称不同,但它不起作用。它只渲染第一个。
(对不起,英文不好)
答案 0 :(得分:6)
只要响应不同的http谓词(POST / GET / PUT / etc),您就可以为两个单独的操作使用相同的URL。否则,您希望路由器决定选择哪个动作?
了解如何从路由文档的Adding HTTP Method Requirements部分定义http方法要求。
注释配置示例:
class GuestbookController
{
/**
* @Route("/guestbook")
* @Method("POST")
*/
public function createAction()
{
}
/**
* @Route("/guestbook")
* @Method("GET")
*/
public function showAction()
{
}
}