我的form_tag看起来像是:
<%= form_tag(:controller => "users", :action => "confirm", :method => "get") %>
html输出是:
<form accept-charset="UTF-8" action="/users/confirm?method=get" method="post">
为什么要这样做?
答案 0 :(得分:25)
我认为这是因为在这种形式下使用时,它假设所有选项都是url选项。尝试。
<%= form_tag( '/users/confirm', :method => :get ) %>
在这种情况下,您有两组不同的选项,网址选项和标记选项。
答案 1 :(得分:10)
form_tag
的前2个参数是url_for_options
和options
。两者都是哈希。因此,在您的代码中,整个哈希值被视为url_for_options
。因此,要分离参数,您必须这样做:
<%= form_tag({:controller => "users", :action => "confirm"}, {:method => "get"}) %>
或
<%= form_tag({:controller => "users", :action => "confirm"}, :method => "get") %>
参考link