2011-12-05 5 views
1

私は、次のform_tagの作業があります。form_tagとなurl_for:メソッド "削除"、idと:リモート=>真

<%= form_tag url_for(:controller => "profiles", :action => "remove_academic", :method => :delete), :id => "remove_major_goal", :remote => true do %> 

しかし、HTMLはそのショーを作成:メソッド=> "削除" ではありませんがワーキング。だから私はform_tagにここではいくつかのanswersを発見し、これを試してみました:

<%= form_tag url_for({ :controller => "profiles", :action => "remove_academic", :method => "delete" }, { :id => "remove_major_goal", :remote => true }) do %> 

しかしエラーが戻って蹴ること。私は間違って何をしていますか?

答えて

2

DELETEは、HTMLフォーム要素のメソッド属性の有効な値ではありません。フォーム内に<input type="hidden" name="method" value="delete" />を挿入する方がよいでしょう(またはヘルパーメソッドを使用してください)。

更新:

これらのいずれかを試してみてください。

form_for url_for(:controller => "", :action => ""), :method => "delete", … 

form_for { :controller => "", :action => "" }, { :method => "delete", … } 

多分不必要な二番目の形式で括弧の第二セット。同様に、最初の形式で必要になる場合もあります。

+1

ドキュメントには「削除」と書かれています。フォームを送信するときに使用する方法で、通常は「get」または「post」です。 「put」、「delete」などの動詞が使用されている場合は、_methodという名前の隠れた入力が追加され、verb over postがシミュレートされます。 http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-form_tag – tvalent2

+0

はい、あなたはメソッドオプションについて正しいです。修正されたバージョンのメソッド呼び出しを含む元の回答を編集する。 –

関連する問題