Почему мой метод form_tag является постом, когда я прошу получить? - PullRequest
18 голосов
/ 16 марта 2011

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

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

Вывод html:

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

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

Ответы [ 2 ]

25 голосов
/ 16 марта 2011

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

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

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

10 голосов
/ 16 марта 2011

Первые 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") %>

См. ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...