{%render "Bundle:Controller:Action"%}を使用すると、次の値が返されます。
throw $this->createNotFoundException('Error - 404');
これにより、開発モードではページにエラーが発生しますが、本番モードでは、{%render%}の部分を除いてページがレンダリングされます。
親アクションで例外がスローされた場合と同じように、ページ全体に404ページを表示したいと思います。
誰か提案はありますか?
ありがとう
これにより、開発モードではページにエラーが発生しますが、本番モードでは、{%render%}の部分を除いてページがレンダリングされます。
これは合法のようです。あなたが使う
{% render "Bundle:Controller:Action" %}
メニューなど、Webページの一部のみをレンダリングします。特定のレンダリングアクションが404をスローする場合、それはWebサイトのこの部分にのみ影響し、ページ全体には影響しません。
さらに、明らかにうまくレンダリングされるページ全体が、ページの一部にのみ影響する404エラーページによってブロックされる必要があるのはなぜですか?これは良い習慣ではありません。エラーが非常に重要である場合は、コントローラーレベルで、より高いインスタンスでエラーをトリガーする必要があります。
黙って失敗するのではなくエラーを戻すには、withオブジェクトの後にignore_errorsオプションを追加するだけです。
例えば
{% render 'Bundle:Controller:Action' with { }, { 'ignore_errors' : false } %}