コントローラーを介したライブ更新用にFayeの上に構築されたgemであるPrivate Pubを使用しています。Faye サーバーがサービスを提供できなかった場合に備えて、Live Update Render のフォールバックを行うことができずに困っています。
最初のレンダリング メソッドが失敗した場合、この状況を回避して 2 回目にレンダリングする方法はありますか?
これが私のcreate
行動です:
def create
#assigning objects and such happening here
begin
LiveAjaxRender(@comment)
rescue => exception
ExceptionNotifier.notify_exception(exception)
normalAjaxRender(@comment)
end # end rescue
end
通常、エラーが発生すると、2 番目のブロックに進み、最初のブロックは無視されます。ここではそうではありませんが、それは次のように言っているからです:
でAbstractController::DoubleRenderError
発生しましたuser_comments#create
:
このアクションでレンダリングやリダイレクトが複数回呼び出されました。render または redirect のみを呼び出すことができ、アクションごとに最大 1 回しか呼び出せないことに注意してください。また、redirect も render もアクションの実行を終了しないことに注意してください。そのため、リダイレクト後にアクションを終了する場合は、「redirect_to(...) and return」のようなことを行う必要があります。app/controllers/my_controller.rb130:in `ブロック (2 レベル) in normalAjaxRender'