2012-06-16 11 views
5

मैं symfony2 में एनोटेशन का उपयोग करके अपने मार्गों को परिभाषित करने की कोशिश कर रहा हूं। मेरा बंडल नाम पेटेंटबंडल है। लेकिन मैं की तरहएनोटेशन के साथ सिम्फनी 2 रूटिंग

<?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

क्या आपको राउटर में "/ पोर्टफोलियो /" मार्ग मिलता है: डीबग? या बस "/ पोर्टफोलियो"? मार्ग "/ पोर्टफोलियो /" "पोर्टफोलियो" से अलग है। – sensorario

+0

पिछला स्लैश के बिना क्या जोड़ना है? '/ porfolio'? –

+0

यह –

उत्तर

9
# app/config/routing.yml 

MunichInnovationGroupPatentBundle: 

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

No route found for "GET /portfolio/ 

मेरा ऐप की एक त्रुटि/config/routing.yml

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

मेरे पोर्टफोलियो नियंत्रक लग रहा हो रही है नियंत्रक होना चाहिए:

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

दोनों पर एक ही त्रुटि देता है मैं पूरी नियंत्रक निर्देशिका को केवल डिफ़ॉल्ट नियंत्रक आयात नहीं करना चाहता हूं। मुझे पोर्टफोलियो नियंत्रक –

+0

पर त्रुटि मिल रही है "नियंत्रक होना चाहिए:" खंड के लिए धन्यवाद। आपको उन सभी को शामिल करने की आवश्यकता है, भले ही उनका उपयोग नहीं किया जा रहा हो। – mattalxndr

+0

कक्षा स्तर पर @Method निर्दिष्ट करने का कोई तरीका है? – hardik

1

आप developement वातावरण में हैं, तो जाँच आप routing_dev.yml में routing.yml आयात: अपने बंडल में

# app/config/routing_dev.yml 

_main: 
    resource: routing.yml 
+0

मैंने पहले ही यह किया है लेकिन काम नहीं कर रहा है –

+0

आपका कोड काम करेगा ... जैसा कि सिमोन डेमो जेनेटिली द्वारा सुझाया गया है, आपको 'ऐप/कंसोल राउटर: डीबग' का उपयोग करके अपने सभी सक्रिय मार्ग देखना चाहिए परिणाम क्या है? –

+0

मैंने इसे एप/कंसोल के माध्यम से चेक किया है और मेरे पास दो बंडल 1 हैं बंडल और दूसरा पेटेंटबंडल है। बंडल में पोर्टफोलियो मार्ग भी है और इसका पथ v1/पोर्टफोलियो है, मैं पेटेंटबंडल मार्गों को दूसरों को काम नहीं करना चाहता हूं। –

-2

जोड़ें निम्नलिखित कोड MunichInnovationGroup/PatentBundle/Resources/config/routing.yml

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

से ऊपर सिर्फ बंडल का एक उदाहरण है । आपको केवल बोल्ड टेक्स्ट "आवश्यकताएं" पोस्ट करनी होंगी।