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

ブラウザでこのURLを試してみると、symfonyのウェルカムページが表示されます

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

でもやってみると

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

ルートが見つからないというエラーは発生しません

私がここで間違っていることは何ですか?

何かアイデアはありますか?

4

2 に答える 2

1

行った変更が、Eclipseの作業スペースだけでなく、プロジェクトのルートでも影響を受けることを確認してください。Eclipseの作業スペースをプロジェクトルートに変更してから、

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

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

それが役立つことを願っています

于 2012-05-20T13:25:44.793 に答える
0

あなたのコードのルーティングは正しいと思います。しかし、入力されたURLは正しくありません。webが入っているフォルダを指していないapp_dev.php。これがあなたの問題かもしれません。

このURLの代わりに http://project.dev/app_dev.php/portfolio以下のURLを試してください

 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

お役に立てれば。

于 2012-05-20T11:02:14.083 に答える