2011-12-05 53 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生成表明:方法=> 「刪除」 是不加工。於是,我找了幾個answers這裏form_tag並試用了此:

<%= 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

文檔中提到'「delete」':提交表單時使用的方法,通常是「get」或「post」。如果使用「放置」,「刪除」或其他動詞,則會添加名爲_method的隱藏輸入以模擬帖子後的動詞。 http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-form_tag – tvalent2

+0

是的,你是正確的方法選項。編輯原始答案以包含方法調用的更正版本。 –