Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么当我要求get时,我的form_tag方法是帖子?_Ruby On Rails_Forms - Fatal编程技术网

Ruby on rails 为什么当我要求get时,我的form_tag方法是帖子?

Ruby on rails 为什么当我要求get时,我的form_tag方法是帖子?,ruby-on-rails,forms,Ruby On Rails,Forms,我的表单标签看起来像: <%= form_tag(:controller => "users", :action => "confirm", :method => "get") %> “用户”,“操作=>“确认”,“方法=>“获取”)%> html输出为: <form accept-charset="UTF-8" action="/users/confirm?method=get" method="post"> 它为什么要这样做?我认为这是因为

我的表单标签看起来像:

<%= 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 ) %>
:get)%%>

在这种情况下,您有两组独立的选项,url选项和标记选项。

表单标记的前两个参数是
url\u for\u options
options
。两者都是杂凑。因此,在您的代码中,整个散列被视为\u选项的
url\u
。因此,要分离参数,必须执行以下操作:

<%= form_tag({:controller => "users", :action => "confirm"}, {:method => "get"}) %>
“用户”,:操作=>“确认”},{:method=>“获取”}%>

“用户”,:操作=>“确认”},:方法=>“获取”)%>

参考

+1或者,用散列来明确说明:
“users”,:action=>“confirm”},:method=>“get”)%%>
这对我来说产生了同样的结果。
<%= form_tag({:controller => "users", :action => "confirm"}, :method => "get") %>