php – 在Symfony中路由“不存在”,即使它在主路由文件中声明

以下是相关文件内容

app / config / routing.yml的内容

horse_route:
    path:   /horse
    defaults: { _controller: AppBundle:Horse:show }


app:
    resource: "@AppBundle/Controller/"
    type:     annotation

src / AppBundle / Controller / WalrusController.PHP内容

<?PHP

namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;


class WalrusController extends Controller
{

    /**
     * @Route("/walrus/red")
     */
    public function walrusRedirect()
    {

      return $this->redirectToRoute('/horse', array(), 301);

    }   
}

src / AppBundle / Controller / HorseController.PHP内容

<?PHP

namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;


class HorseController extends Controller
{

    public function showAction()
    {
      return new Response('This is a horse.');
    }

}

当我在浏览器中键入localhost:8000 / walrus / red时,收到错误消息

Unable to generate a URL for the named route "/horse" as such route does not exist.  

似乎我没有在主路由文件中正确声明路由,或者我在错误的地方声明了它.任何帮助赞赏.

解决方法:

您的路线名为horse_route,因此您需要使用

return $this->redirectToRoute('horse_route', array(), 301);

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...