Почему мой метод form_tag - это сообщение, когда я прошу получить?

Мой form_tag выглядит так:

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

вывод html:

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

Почему это делается?

Ответы

Ответ 1

Я думаю, потому что, когда он используется в этой форме, он предполагает, что все параметры - это параметры URL. Попробуйте.

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

В этом случае у вас есть два отдельных набора параметров, параметры URL и параметры тегов.

Ответ 2

Первые 2 параметра 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") %>

Обратитесь ссылка