Я боролся с проблемой в Rails в течение нескольких дней и все еще не мог найти решение. Не могли бы вы помочь мне с этим?
Проблема: у меня есть окно поиска, которое помещает запись: search_string в структуру params. Я использую form_tag для этого, и он отлично работает.
<% form_tag :controller=> 'items', :action => 'find' do %>
<%= text_field_tag :search_string, params[:search_string] %>
<% end %>
Проблема заключается в том, что я хочу добавить и обновить значение ключа другого параметра (в другом представлении), например: start_date, для фильтрации результата 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 %>
Когда я впервые нажимаю кнопку отправки «April», параметры корректно передаются контроллеру (то есть есть params [: start_date] = 'April'). Однако, когда я пытаюсь нажать кнопку «Март» после этого, params [: start_date] не обновляется. Я определенно думаю, что это глупая ошибка новичка, но я не могу понять, как правильно использовать form_tag. Не могли бы вы сказать мне, если я делаю что-то работу? В противном случае, не могли бы вы посоветовать мне, как лучше всего обновить параметры с помощью form_tag? Заранее большое спасибо.
Микель