当我要求获取时,为什么我的form_tag方法是一个post?

我的form_tag看起来像:

 "users", :action => "confirm", :method => "get") %> 

html输出是:

 

它为什么这样做?

我认为这是因为在这种forms下使用时,它假定所有选项都是url选项。 尝试。

 <%= form_tag( '/users/confirm', :method => :get ) %> 

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

form_tag的前两个参数是url_for_optionsoptions 。 两者都是哈希。 所以在你的代码中,整个哈希被视为url_for_options 。 因此,要分离参数,您必须这样做:

 <%= form_tag({:controller => "users", :action => "confirm"}, {:method => "get"}) %> 

要么

 <%= form_tag({:controller => "users", :action => "confirm"}, :method => "get") %> 

参考链接