【问题标题】:Symfony: Generate URL route not found but it existsSymfony:生成未找到但存在的 URL 路由
【发布时间】:2019-02-11 12:20:11
【问题描述】:

这是一个我经常要面对的问题,我认为很多人都有同样的问题:

我尝试在控制器中调用一个操作,然后重定向到我来自的 URL。 让我给你看代码:

我有一个基本形式,它的参数是这样的:

<form id="messageCreationForm" action="{{ path('createMessage') }}" method="POST">

提交调用如下方法:

    /**
     * @Route("/createMessage", name="createMessage")
     * Request $request
     */
    final public function createMessageAction(Request $request)
    {
    //Some logic...
        return $this->generateUrl(
            '/agent/campagne',
            [
                'agent' => $agent,
                'entretiens' => $talentMatchJobs
            ]
        );
    }

然后,我得到了这个错误:

无法为命名路由“/agent/campagne”生成 URL 路线不存在。

但是,路线存在:

enter image description here (我这里不允许提交图片,请点击链接查看。)

我也尝试过路线:

/campagne,campagneIndex,campagne...

定义路由的对应方法就是这个(这个路由给我url /agent/campagne:

/**
 * @Route("/campagne", name="campagneIndex")
 * @return Response
 */
final public function campagneIndexAction()
{
//Some logic...
}

非常感谢您的帮助.. 谢谢 问候,

马克西姆

【问题讨论】:

    标签: symfony-3.4 symfony-routing


    【解决方案1】:

    generateUrl 方法将路由名称作为第一个参数。这里需要使用“campaignIndex”才能生成“/agent/campagne”url。

    如果这不起作用,您可以尝试清除缓存或启动debug:router 命令以查看路由是否正确

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-22
      • 1970-01-01
      • 1970-01-01
      • 2016-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-29
      相关资源
      最近更新 更多