2

Symfony2 ルーティングで 2 つのオプション変数を使用しようとすると、次のエラーが発生します: "GET /" のルートが見つかりません

AcmeAshavatBundle_homepage:
pattern:  /{page}/{ads_on_page}/
defaults: { _controller: AcmeAshavatBundle:Page:index, page:1, ads_on_page:2 }
requirements:
   _method:  GET|POST

そして、私が行くとhttp://localhost:8080/AshavatSy/web/app_dev.php/エラーが発生します。興味深いのは、実行するhttp://localhost:8080/AshavatSy/web/app_dev.php/1とうまく機能することです。また、パスを pattern: /main/{page}/{ads_on_page}/ に変更すると、うまく機能します。
何が問題ですか?
誰かがこのようにしようとすることをお願いしたいと思います [例: パターン: /a/b/ デフォルト: {... a:1,b:2}、またはあなたがそうするべきだと彼が考える]プロジェクト、そしてそれが一般的な問題かどうかを確認してください...

4

2 に答える 2

2

デフォルトのパラメーターを使用して、同じコントローラーを指す 2 つのルートを定義することで、同様の機能を実現することができました。私の場合、注釈を使用して:

/**
 * @Route("/products/{catId}/{prodId}", defaults={"catId"="", "prodId"=""})
 * @Route("/products/")
 * @Template()
 */
public function indexAction($catId = null, $prodId = null) {
    ...

デフォルトのパラメーターのみを使用すると、Symfony は 2 つの /.

HTH

于 2012-05-05T09:31:41.493 に答える
1

これらの2つの引数をコントローラーのIndexAction()に渡すのを忘れたと思います。

このコードを試してください

Public function indexAction($page,$ads_on_page)
{}

これがお役に立てば幸いです。

于 2012-05-03T03:37:52.947 に答える