В своем приложении на Rails 3 я использую оба флажка и, в одном случае, помощника выбора для отправки формы поиска.Я применил некоторые jQuery к форме, поэтому, если я нажимаю флажок, форма отправляется.То же самое с помощником выбора.Если я установлю флажок, после отображения страницы флажок останется отмеченным как индикатор параметров, используемых для получения результата поиска.Проблема в том, что помощник по умолчанию выбирает «Выбрать» после отправки формы поиска.Он не поддерживает значение параметров, используемых для поиска.
Например, скажем, у меня есть три варианта: «Выбрать», «Искусство» и «Профессиональное».Если в моей форме по умолчанию выбрано «Выбрать», и я хочу выполнить поиск по «Arts», нажмите «Arts», чтобы отправить форму, обновить страницу и отобразить записи, соответствующие «Arts».Однако выбранный помощник не отображает «Искусство».По умолчанию возвращается «Выбрать» при отправке формы.
Я использую Ransack для поиска, поэтому вот действия в моем контроллере, где я выполняю поиск:
def index
@q = User.search(params[:q])
@users = @q.result(:distinct => true)
end
def search
index
render :index
end
Вот мой выбранный помощник:
<%= f.select :profile_subject_eq, options_for_select([['Select', ''], ['Arts'], ..., ['Vocational']], :selected => @q) %>
(Как видите, я пытался изменить :selected
безрезультатно.)
Наконец, вот jQuery, который я использую для отправки формы:
$(function(){
$('select').live('change',function() {
$(this).closest('form#index').submit();
});
});
ОБНОВЛЕНИЕ: Вот вывод HTML помощника выбора:
<fieldset>
<select id="q_profile_subject_eq" name="q[profile_subject_eq]">
<option value="nil">Select</option>
<option value="Arts">Arts</option>
...
<option value="Vocational">Vocational</option>
</select>
</fieldset>