
[英]rails 'form_tag' defaults to POST method but submits with GET method
[英]Why is my form_tag method a post when I am asking for a get?
我的form_tag看起来像:
<%= form_tag(:controller => "users", :action => "confirm", :method => "get") %>
html输出是:
<form accept-charset="UTF-8" action="/users/confirm?method=get" method="post">
它为什么这样做?
我认为这是因为在这种形式下使用时,它假设所有选项都是url选项。 尝试。
<%= form_tag( '/users/confirm', :method => :get ) %>
在这种情况下,您有两组独立的选项,网址选项和标记选项。
form_tag
的前两个参数是url_for_options
和options
。 两者都是哈希。 因此,在您的代码中,整个哈希被视为url_for_options
。 因此,要分离参数,您必须这样做:
<%= form_tag({:controller => "users", :action => "confirm"}, {:method => "get"}) %>
要么
<%= form_tag({:controller => "users", :action => "confirm"}, :method => "get") %>
参考链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.