Phusion パッセンジャー: Rails エラーを通過しながら内部パッセンジャー エラーをカスタマイズする
概要
通常の Rails エラー ページをユーザー エージェントに渡したいと考えています。もちろん、通常の Rails テクニックを使用してこれらのページをカスタマイズできます。
ただし、乗客の内部エラーが発生した場合 (通常は乗客がアプリをまったく起動できない場合)、そのページをカスタマイズしたいと思います。それを行う方法はありますか?
私(Apache)がPassengerErrorOverrideをオンに設定した場合、Apache側で内部旅客エラーページを設定できますが、カスタマイズした通常のRailsエラーページもすべて失われると思います。
カスタム Rails エラー ページ本体を通常の操作下に保ちながら、内部の乗客の致命的なエラー画面を何らかの方法でカスタマイズする方法はありますか?
ありがとう!
解決策
私が正しく理解しているかどうか見てみましょう。たとえば、HTTP 500 エラー ページがユーザーに表示される場合、これは 3 つの異なるソースから発生する可能性があります。
そして、あなたがユーザーに求めるものは次のとおりです: 1. + (あなたがカスタマイズした) 2.
- をオーバーライドするデフォルトの方法は確かにオプション 3. を使用することですが、それは望ましくない 1. もオーバーライドすることになります。
現在のところ、Passenger には 2. を上書きする別のオプションはないと思いますが、Passenger が使用するテンプレートを上書きすることはできます。フレンドリーなエラー ページがオフに設定されている場合、テンプレートは次のようになります。
`passenger-config about resourcesdir`/templates/undisclosed_error.html.template