symfony找不到“ GET”的路线

时间:2018-11-05 22:27:57

标签: symfony

我更改了控制器的名称以及控制器中的路由以及与其对应的模板。我什至执行了bin / console debug:route检查路由terminal 但是,当我输入http:/ localhost:8000 / admin / programming / circuit时,出现错误:未找到“ GET / admin / programming / circuit”的路由。 error

备注:在更改控制器名称和路由之前,一切工作正常。 enter image description here

2 个答案:

答案 0 :(得分:1)

您的路线不正确。为您尝试拨打路线

/admin/programation/circuit 

但是您的路线是

/admin/programation/circuit/

所以我认为这是您所遇到的问题。因此,您必须添加/或将其从操作中删除。

答案 1 :(得分:1)

诀窍是,在symfony路由系统中,只有当旋转路径完全是'/'时,我们才能声明路径以'/'结尾的路由(没有固定任何东西)。

在我们的例子中, index()函数指向以'/ admin / programming / circuit'为前缀并以'/'结尾的路由,否则以下路由将变为'/ admin / programming / circuit /',如您所见,它不遵守惯例

我告诉您的是,以这种方式重新定义配置,以使index()函数的路径变为空。
要以正确的方式定义路由,甚至可以在路由(from version 3.4)

之前加上前缀
/**
 * @Route("/admin/programation/circuit", name="admin_programtion_circuit_")
 */
 class BackofficeProgramationController {

  /**
   * @Route("", name="index")
   */
    public function index() {...}
 }