Я боролся с проблемой в Rails в течение нескольких дней и до сих пор не смог найти решение. Не могли бы вы мне помочь?Как использовать form_tag для обновления параметров
Проблема: у меня есть окно поиска, в которое помещается запись: search_string в структуре params. Для этого я использую form_tag, и он отлично работает.
<% form_tag :controller=> 'items', :action => 'find' do %>
<%= text_field_tag :search_string, params[:search_string] %>
<% end %>
Проблема заключается в том, когда я хочу добавить и обновить другие Params ключ-значение (в другом виде), например: датой_начала, чтобы отфильтровать результат SEARCH_STRING. Вот код отрезала, что я использую в представлении:
<% form_tag :controller=> "items", :action => "find", :params => params do %>
<%= hidden_field_tag :date_start, '2010-04-01' %>
<%= submit_tag 'April' %>
<% end %>
<% form_tag :controller=> "items", :action => "find", :params => params do %>
<%= hidden_field_tag :date_start, '2010-03-01' %>
<%= submit_tag 'March' %>
<% end %>
Когда я первый нажмите на «Апрель» кнопку отправки, то PARAMS правильно передается в контроллер (то есть является PARAMS [: start_date] = 'Апрель'). Однако, когда я пытаюсь нажать кнопку «Марш» после этого, параметры [: start_date] не обновляются. Я определенно думаю, что это глупая ошибка новичков, но я не могу понять, как правильно использовать form_tag. Не могли бы вы сказать мне, что я что-то делаю? В противном случае, не могли бы вы посоветовать мне, который является лучшим способом обновить параметры с помощью form_tag? Заранее большое спасибо.
Микель
Вы ищете start_date или date_start? – tadman