Причина, по которой все остальные поля отправляются, в том, что rails добавляет их по умолчанию всем своим помощникам. Часть commit=Go
получена от помощника submit_tag
, а utf8=✓
- потому что она добавлена помощником form_tag. Самый простой способ добиться того, что вам нужно, это просто не использовать помощники других форм:
<form action="<%= orders_path %>" method="get">
<%= select_tag :name, options_for_select(%w(John Jim Thomas)) %>
<input type="submit" value="Go">
</form>
Выбрав «Томас» и нажав «Перейти», вы получите только ?name=Thomas
в своем URL. Вы можете использовать помощник для отправки, если вы установите для него имя nil
:
<form action="<%= orders_path %>" method="get">
<%= select_tag :name, options_for_select(%w(John Jim Jones)) %>
<%= submit_tag "Go", :name => nil %>
</form>