2016-05-27 1 views
0

私はRails 4.2.3を使用しています。私のコーヒーのスクリプトでは、私は手動でそう...フォームメソッドをPUT/PATCHに変更するために私のcoffeescriptを使用するにはどうすればいいですか?

# Alter the form submit behavior 
    $('#new_my_object').attr("action", "/my_objects/" + id) 
    $('#new_my_object').attr("method", "patch") 

ようになり、フォームのURLとアクションを編集しています。しかし、私は(...私の送信ボタンをクリックすることで)私のフォームを送信

<%= button_to "Save", { :action => "create" }, :method => :post, :class => 'button' %> 

リクエスト(Mac ChromeとFirefoxの両方)は、私が変更したものではなく、method = "GET"で送信されます。 PATCHメソッドを使用して提出できるようにするには、私は何をする必要がありますか? (これは私の更新アクションで必要なものなので、これを行う必要があります)。 <form>要素に

答えて

0

methodのみget又はpostなく、put又はpatchとすることができます。 <form> on MDNを参照してください。

一般的に、XHRを使用しているときにサポートされているにもかかわらず、ブラウザでこのような理由でGETおよびPOST要求に制限する必要があります。

+0

あなたが言っていることが真実なら、Railsはどのようにフォームを提出しますか?私のconfig/routes.rbファイルで、私は "リソース:my_objects"を定義しています。これは "/ my_objects /:id"への更新を意味し、少なくともPails/Patchメソッドを必要とします。 。 – Dave

+0

@Dave ['_method = patch']を指定することができます(http://guides.rubyonrails.org/form_helpers.html#how-do-forms-with-patch-put-or-delete-methods-work-questionmark)制限を回避するためにPOSTリクエストのフォーム・パラメーターとして使用します。 – univerio

関連する問題