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

时间:2011-03-16 03:02:02

标签: ruby-on-rails forms

我的form_tag看起来像是:

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

html输出是:

<form accept-charset="UTF-8" action="/users/confirm?method=get" method="post">

为什么要这样做?

2 个答案:

答案 0 :(得分:25)

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

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

在这种情况下,您有两组不同的选项,网址选项和标记选项。

答案 1 :(得分:10)

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

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

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

参考link