0

{%render "Bundle:Controller:Action"%}を使用すると、次の値が返されます。

throw $this->createNotFoundException('Error - 404');

これにより、開発モードではページにエラーが発生しますが、本番モードでは、{%render%}の部分を除いてページがレンダリングされます。

親アクションで例外がスローされた場合と同じように、ページ全体に404ページを表示したいと思います。

誰か提案はありますか?

ありがとう

4

2 に答える 2

1

これにより、開発モードではページにエラーが発生しますが、本番モードでは、{%render%}の部分を除いてページがレンダリングされます。

これは合法のようです。あなたが使う

{% render "Bundle:Controller:Action" %}

メニューなど、Webページの一部のみをレンダリングします。特定のレンダリングアクションが404をスローする場合、それはWebサイトのこの部分にのみ影響し、ページ全体には影響しません。


さらに、明らかにうまくレンダリングされるページ全体が、ページの一部にのみ影響する404エラーページによってブロックされる必要があるのはなぜですか?これは良い習慣ではありません。エラーが非常に重要である場合は、コントローラーレベルで、より高いインスタンスでエラーをトリガーする必要があります。

于 2013-02-19T17:20:24.560 に答える
0

黙って失敗するのではなくエラーを戻すには、withオブジェクトの後にignore_errorsオプションを追加するだけです。

例えば

{% render 'Bundle:Controller:Action' with { }, { 'ignore_errors' : false } %}
于 2013-02-20T22:13:05.293 に答える