2013-03-28 39 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 –