2016-05-04 3 views
0

私はJavascriptフリーのアプリケーションを作成しようとしています(理由を聞かないでください)。:deleteメソッドが正常に動作していないように見えます。phoenixのPlug.Overrideメソッドを正しく使用して有効にする方法:Javascriptを使わずに削除しますか?

this question私はPlug.MethodOverrideを使用しなければならないと言いました。

だから、私は(私はおそらく後でどこかに、より具体的にそれを移動する必要があります推測していますが、今のところ、私はちょうどそれが迅速に作業したかった)routers.exのHTMLパイプラインに

plug Plug.Parser, parsers [:urlencoded, :multipart] 
plug Plug.MethodOverride 

を追加しました。ただし、リソースヘルパーによって生成されたフォームはまだ何もしません。それを別のものに変更する必要がありますか?またはプラグを追加するステップがありません

+1

この質問の回答に記載されているように、 'form:for'に' method::delete'を追加しましたか?http://stackoverflow.com/a/36273932/320615? – Dogbert

+0

ありがとう、これは正しい方向に私を指摘し、私はlink_toが下にform_forを生成することを知らなかったので、私は混乱していた。 私は答えとして、私のような他の完全な初心者のためにそれを受け入れた正確なことを投稿してもらえますか? –

答えて

0

ありがとう@Dogbertドキュメントの正しい方向に私を指摘するために、私はlink_toに根底にあるform_forがあることを理解していませんでした。それを動作させるために、私は、これはメソッドのオーバーライドを可能にルータのパイプラインで

plug Plug.Parser, parsers [:urlencoded, :multipart] 
plug Plug.MethodOverride 

で次のコード

<%= form_for @conn, model_path(@conn, :delete, model), [multipart: true, method: "delete", as: :custom_delete], fn f -> %> 
    <%= submit "Delete_nojs" %> 
<% end %> 

によって<%のlink_to ...%>を置き換えます。

関連する問題