2012-06-16 28 views
5

Tôi đang cố định nghĩa các tuyến đường của mình bằng cách sử dụng chú thích trong symfony2. Tên gói của tôi là PatentBundle. Nhưng tôi nhận được một lỗi củaĐịnh tuyến Symfony2 với chú thích

No route found for "GET /portfolio/ 

Ứng dụng của tôi/config/routing.yml

MunichInnovationGroupPatentBundle: 
resource: "@MunichInnovationGroupPatentBundle/Controller/" 
type:  annotation 
prefix: /
defaults: { _controller: "MunichInnovationGroupPatentBundle:Default:index" } 

điều khiển danh mục đầu tư của tôi trông giống như

<?php 
namespace MunichInnovationGroup\PatentBundle\Controller; 

use MunichInnovationGroup\PatentBundle\Entity\Log; 

use MunichInnovationGroup\PatentBundle\Entity\UserPatent; 
use Symfony\Component\HttpFoundation\Response; 
use Symfony\Component\HttpFoundation\Request; 
use JMS\SecurityExtraBundle\Annotation\Secure; 
use Symfony\Component\Security\Core\Exception\AccessDeniedException; 
use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; 
use MunichInnovationGroup\PatentBundle\Entity\SvPatents; 
use MunichInnovationGroup\PatentBundle\Entity\PmPortfolios; 
use MunichInnovationGroup\PatentBundle\Entity\UmUsers; 
use MunichInnovationGroup\PatentBundle\Form\PatentType; 
use MunichInnovationGroup\PatentBundle\Entity\PmPatentgroups; 
use Symfony\Component\Security\Core\SecurityContext; 
use MunichInnovationGroup\PatentBundle\Util\SecurityHelper; 
use Exception; 

/** 
* Portfolio controller. 
* @Route("/portfolio") 
*/ 
class PortfolioController extends Controller { 

/** 
* Index action. 
* 
* @Route("/", name="portfolio") 
* @Method({"GET", "POST"}) 
* @Template("MunichInnovationGroupBundle:Portfolio:show.html.twig") 
*/ 
public function indexAction(Request $request) { 
     // method code goes here 
    } 
+0

Bạn có nhận được "/ danh mục đầu tư /" tuyến đường trong bộ định tuyến: gỡ lỗi không? Hoặc chỉ "/ danh mục đầu tư"? Tuyến đường "/ danh mục đầu tư /" khác với "/ danh mục đầu tư". – sensorario

+0

Điều gì phụ thêm mà không có dấu gạch chéo? '/ porfolio'? –

+0

Nó cho cùng một lỗi trên cả –

Trả lời

9
# app/config/routing.yml 

MunichInnovationGroupPatentBundle: 

    resource: "@MunichInnovationGroupPatentBundle/Controller/DefaultController.php" 
    type:  annotation 
    prefix: /

Bộ điều khiển nên có:

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; 
.210
+0

Tôi muốn nhập toàn bộ thư mục bộ điều khiển không chỉ bộ điều khiển mặc định. Tôi gặp lỗi trên bộ điều khiển danh mục đầu tư –

+0

Cảm ơn phần "Bộ điều khiển cần có:". Bạn cần bao gồm tất cả những thứ đó, ngay cả khi chúng không được sử dụng. – mattalxndr

+0

có cách nào để chỉ định @Method ở cấp lớp không? – hardik

1

Nếu bạn đang ở trong môi trường Phát triển kiểm tra xem bạn nhập routing.yml trong routing_dev.yml:

# app/config/routing_dev.yml 

_main: 
    resource: routing.yml 
+0

Tôi đã làm điều này nhưng không hoạt động –

+0

Mã của bạn sẽ hoạt động ... Theo đề xuất của Simone Demo Gentili, bạn sẽ thấy tất cả các tuyến đang hoạt động của mình bằng cách sử dụng 'app/console router: debug' kết quả là gì? –

+0

Tôi đã kiểm tra thông qua aap/console và tôi có hai gói 1 là Bundle và gói còn lại là PatentBundle. Bundle cũng có lộ trình danh mục đầu tư và đường dẫn của nó là v1/danh mục đầu tư, tôi muốn làm cho các tuyến đường PatentBundle hoạt động không phải các tuyến khác. –

-2

Thêm mã sau trong nhóm của mình MunichInnovationGroup/PatentBundle/Resources/config/routing.yml

_admin_emailTemplate: 
    pattern: admin/emailTemplate 
    defaults: {_controller: DashboardEmailTemplateBundle:Default:index } 
requirements: { _method: GET | POST } 

Trên đây là chỉ là một ví dụ về bó . Bạn chỉ phải gửi văn bản in đậm "yêu cầu".

Các vấn đề liên quan