2015-09-26 6 views
14

phoenix webappで次のようなエラーが発生しています。これは、いくつかのモデルとページを持つシンプルなアプリケーションで、すべてのモデル作成フォームが複数タブ形式で追加されています。Phoenixログの異常なエラー:MyApp.Endpointの実行が終了しました

ログに次のようなエラーが表示されていますが、ブラウザの最後で問題なく動作しています。ログからも、私は何が間違っているのか、これをどのようにデバッグするのか理解できません。

[error] #PID<0.1603.0> running MyApp.Endpoint terminated 
Server: localhost:4000 (http) 
Request: GET/
** (exit) an exception was raised: 
    ** (Plug.Conn.AlreadySentError) the response was already sent 
     (plug) lib/plug/conn.ex:428: Plug.Conn.resp/3 
     (plug) lib/plug/conn.ex:415: Plug.Conn.send_resp/3 
     (my_app) web/controllers/personal_info_controller.ex:1: MyApp.PersonalInfoController.phoenix_controller_pipeline/2 
     (my_app) lib/phoenix/router.ex:265: MyApp.Router.dispatch/2 
     (my_app) web/router.ex:1: MyApp.Router.do_call/2 
     (my_app) lib/my_app/endpoint.ex:1: MyApp.Endpoint.phoenix_pipeline/1 
     (my_app) lib/plug/debugger.ex:90: MyApp.Endpoint."call (overridable 3)"/2 
     (my_app) lib/phoenix/endpoint/render_errors.ex:34: MyApp.Endpoint.call/2 
     (plug) lib/plug/adapters/cowboy/handler.ex:15: Plug.Adapters.Cowboy.Handler.upgrade/4 
     (cowboy) src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4 
+0

上で示唆されたとして、それはもはや必要ありません。 –

答えて

19

あなたが応答を複製する場合、このエラーを取得する - これはあなたには、いくつかのエラーで応答を送信するプラグインを持っている場合によく起こります(例えば、ユーザがログインしていない)、その後、別の応答がから送信されていますあなたのコントローラーアクション。

コードが表示されていないと、どこに問題があるのか​​が分かりません。応答を送信した後、このエラーを防ぐにはPlug.Conn.halt/1を使用できます。

コントローラは、私のためにそれを固定から

conn 
|> send_resp(404, "Post not found") 
|> halt 
関連する問題