2017-12-13 6 views
0

通常のRailsのエラーページをユーザーエージェントに渡したいと思います。もちろん、通常のRailsテクニックを使用してこれらのページをカスタマイズすることもできます。Phusion Passenger:内部の乗客エラーをカスタマイズしながら、Railsのエラーをそのまま通過します。

しかし、乗客の内部エラー(通常、乗客がアプリを起動できない場合)がある場合は、そのページをカスタマイズしたいと思います。それを行う方法はありますか?

PassengerErrorOverrideをオンに設定した場合、Apache側で内部乗客エラーページを設定できますが、カスタマイズされた通常のRailsエラーページもすべて失うと思います。

通常の操作でカスタムRailsエラーページ本体を保持する方法はありますか?何とか内部旅客致命的エラー画面をカスタマイズしますか?

ありがとうございます!

答えて

1

私が正しく理解しているかどうかを見てみましょう。ユーザーは、例えばHTTP 500エラーページを添えている場合は、これは、3つの異なるソースから来ることができます(通常は)

  1. あなたのレールのアプリ
  2. 旅客(おそらく稀に、例えば産卵エラー)
  3. Apacheの

(1.と2.を上書きします)そして、何あなたが希望して取得するユーザーのためである:(あなたによってカスタマイズ)1 + 2

2をオーバーライドするデフォルトの方法は確かにありますオプション3を使用してくださいあなたが望ましくない1を上書きします。

現在、乗客に2をオーバーライドするオプションはありませんが、乗客が使用するテンプレートを上書きすることができます。フレンドリーなエラーページがオフに設定されている場合、テンプレートは次のとおりです。

`passenger-config about resourcesdir`/templates/undisclosed_error.html.template 
+0

はい、正しく理解しています。 Passengerを新しいバージョンにアップグレードするときは、いつでも上書きすることを忘れてはならないと思いますが、テンプレートを上書きすることは本当に必要なものですか?それは明らかに最適ではない。 Phusionの誰かがこれを読んでいるなら、これを設定オプションにすることをお勧めしたいと思います。おそらく、そのテンプレートに使うパスを設定するだけです。 – jrochkind

+0

私は私のカピストラノ展開スクリプトでは、すべての展開で上書き保存場所にテンプレートをコピーすることができますが、それは少なくとも少し良いですね。 – jrochkind

関連する問題