2013-03-28 36 views
13

我只是想創建一個簡單的選擇菜單,將您帶到特定的URL。到目前爲止,我有這樣的事情:使用GET請求的Rails窗體:如何刪除按鈕和utf8參數?

# haml 
= form_tag new_something_path, method: :get do 
    = select_tag :type, options_for_select(my_array) 
    = submit_tag 'New Something' 

然而,當我提交表單我得到的UTF8參數以及與按鈕的文字「提交」參數。

如何刪除UTF8並提交參數?

+0

這已經在這裏找到答案:HTTP:/ /stackoverflow.com/a/4488837/523568 簡短回答:您不應該刪除UTF-8參數。 此外,你不能擺脫提交參數,給定封裝窗體標籤的一部分。你可以用'submit_tag name:'whatever','New Something'來改變submit_tag的名字' –

+0

是的,我明白UTF-8參數的用途,但在這種情況下我不需要它,因爲我知道表單值會從不包含任何特殊字符。所以我仍然想知道如何刪除它。 – Andrew

回答

35

卸下commit參數是比較簡單的,你需要指定輸入沒有一個名字:

​​

關於UTF-8 PARAM ...它成爲一個重要目的。一旦你瞭解the purpose of the Rails UTF-8 param,以及由於某種原因,你仍然需要將其刪除,解決的辦法是比你想象的更容易...只是不使用的form_tag幫手:

# haml 
%form{action: new_something_path, method: 'get'} 
    = select_tag :type, options_for_select(my_array) 
    = submit_tag 'New Something', name: nil 
+9

在rails 4.1中引入了form_tag - enforce_utf8的新選項。您可以將其設置爲false。 – Dmitry

+0

偉大的答案btw –