2012-05-18 21 views
1

我創造在Symfony2中一個非常基本的靜態頁面,但我沒有得到任何路線發現錯誤,我已經定義的路線爲我的網頁。發現「得不到路線/組合

我控制器

#src/IDP/IDPBundle/Controller/PortfolioController.php 
<?php 
    namespace IDP\IDPBundle\Controller; 
    use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
    class PortfolioController extends Controller 
    { 
    public function indexAction() 
    { 
    return $this->render('IDPIDPBundle:Portfolio:index.twig'); 
    } 
    } 

我的routing.yml文件

#src/IDP/IDPBundle/resources/config/routing.yml 
IDPIDPBundle_portfolio: 
pattern: /portfolio 
defaults: { _controller: IDPIDPBundle:Portfolio:index } 
requirements: 
    _method: GET 

我的應用程序路由文件

#app/config/routing.yml 
IDPIDPBundle: 
resource: "@IDPIDPBundle/Resources/config/routing.yml" 
prefix: /

# Internal routing configuration to handle ESI 
#_internal: 
# resource: "@FrameworkBundle/Resources/config/routing/internal.xml" 
# prefix: /_internal 

,當我嘗試在瀏覽器這個網址symfony的歡迎頁面出現

http://project.dev/app_dev.php/ 

但是當我嘗試

http://project.dev/app_dev.php/portfolio 

給它的路由發現錯誤

我在做什麼錯這裏 ?

有什麼想法嗎?

+0

你有沒有運行路由調試?你從運行'php app/console router:debug --env = dev'得到什麼? –

+1

我將你的代碼複製到一個新的symfony2項目中,它的作用,唯一的區別是兩個'routing.yaml'文件的yaml配置的格式。這個意圖是否正確? – Florian

+0

感謝您的回覆,僅僅是因爲Eclipse IDE,更改只發生在IDE的工作區中,而不是在我的項目根目錄中。我開始使用Netbeans我最喜歡的IDE :) –

回答

1

確保您所做的更改不僅影響了您的項目根目錄,而且還影響了eclipse的工作空間。改變你的日食工作空間項目的根,然後

IDPIDPBundle: 
resource: "@IDPIDPBundle/Resources/config/routing.yml" 
prefix: /

IDPIDPBundle_portfolio: 
pattern: /portfolio 
defaults: { _controller: IDPIDPBundle:Portfolio:index } 
requirements: 
_method: GET 

希望這將有助於

+0

非常感謝您的幫助 –

0

我認爲你的代碼路由是正確的。但輸入的網址不正確。您並未指向web其中app_dev.php的文件夾。可能是這是你的問題。

,而不是這個網址http://project.dev/app_dev.php/portfolio試試下面的網址

http://project.dev/web/app_dev.php/portfolio 

希望project.dev的項目文件夾。

第二件事我注意到你必須真正關心routing.yml文件的縮進。

IDPIDPBundle: 
    resource: "@IDPIDPBundle/Resources/config/routing.yml" 
    prefix: /

IDPIDPBundle_portfolio: 
    pattern: /portfolio 
    defaults: { _controller: IDPIDPBundle:Portfolio:index } 
    requirements: 
    _method: GET 

希望這會有所幫助。