我的Symfony2项目的路由问题


Issue with routing on my Symfony2 project

我面临以下错误:

在第38行的"CasanetBundle:Admin:deliverys.html.twitch"中呈现模板期间引发异常("无法为命名路由"casanet_addpaperpage"生成URL,因为该路由不存在。")。

这是我的控制器:

<?php
namespace ProjectB'CasanetBundle'Controller;
use Symfony'Bundle'FrameworkBundle'Controller'Controller;
use Symfony'Component'HttpFoundation'Request;
use ProjectB'CasanetBundle'Entity'Paper;
use ProjectB'CasanetBundle'Entity'Event;
use ProjectB'CasanetBundle'Entity'Conference;
use ProjectB'CasanetBundle'Entity'Project;
use ProjectB'CasanetBundle'Form'PaperType;
class AdminController extends Controller {
public function deliverablesAction() {
    $em = $this->getDoctrine()->getManager();
    $papers = $em->getRepository("CasanetBundle:Paper")->findAll();
    $events = $em->getRepository("CasanetBundle:Event")->findAll();
    $conferences = $em->getRepository("CasanetBundle:Conference")->findAll();
    $projects = $em->getRepository("CasanetBundle:Project")->findAll();
    return $this->render('CasanetBundle:Admin:deliverables.html.twig', array(
        "papers" => $papers,
        "events" => $events,
        "conferences" => $conferences,
        "projects" => $projects,
    ));
} 
public function addpaperAction(Request $request){
    $paper = new Paper();
    $formPaper = $this->createForm(new PaperType(), $paper);
    if($request->isMethod("POST")){
        $formPaper->handleRequest($request);
        if($formPaper->isValid()){
            $em = $this->getDoctrine()->getManager();
            $paper = $formPaper->getData();
            $em->persist($paper);
            $em->flush();
        }
        return $this->redirectToRoute("casanet_deliverablespage");
    }
    return $this->render('CasanetBundle:Admin:addpaper.html.twig', array(
        "formPaper" => $formPaper->createView(), 
    ));
}
}       

以下是我的routing.yml文件中的相关路线:

casanet_addpaperpage:
    path:     /admin/addpaper
    defaults: { _controller: CasanetBundle:Admin:addpaper }

我尝试过清除缓存、运行composer更新、重命名路由、通过其他路径进行路由,但到目前为止没有结果。

有人能告诉我该怎么走吗?

编辑:以下是我关注的部分:

<a href="{{path("casanet_addpaperpage") }}" class="btn btn-primary">Add a paper</a>

认为这是因为捆绑包的缩写不正确,应该是

casanet_addpaperpage:
    path:     /admin/addpaper
    defaults: { _controller: ProjectBCasanetBundle:Admin:addpaper }

由于您的路由存在于router:debug--env=dev中,因此您可能只需要清除缓存。

 php app/console cache:clear --env=dev

如果您使用prod.

我发现了问题所在。

我运行了一个composer无开发更新,并在1天前中断了它,它被破坏了。今天我更新了Symfony 2.6.5,我想它解决了这个问题。谢谢大家!