![](/img/trans.png)
[英]Issue with “Email Feature” in my project which is made with Symfony2 Framework
[英]Issue with routing on my Symfony2 project
我遇到以下錯誤:
在模板的渲染過程中,在第38行的“ CasanetBundle:Admin:deliverables.html.twig”中渲染了一個模板(“由於該路由不存在,因此無法為命名路由“ 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 }
我嘗試清除緩存,運行作曲家更新,重新命名路由,通過其他路徑進行路由,到目前為止都沒有結果。
誰能向我暗示正確的方向?
編輯:這是我觀點的有關部分:
<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(如果您使用prod)。
我發現了問題所在。
我運行了作曲家的no-dev更新,並在1天前中斷了它,但它已損壞。 今天,我更新到了Symfony 2.6.5,它解決了我想的問題。 感謝大家!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.