1

Как можно сохранить состояние переключателя «нажата» после запуска поиска? Я использую камень Ransack для создания этого поиска.Сохранение состояния кнопок с толкаемым радиосигналом

Вид:

<%= search_form_for @search do |f| %> 

    <strong>Location</strong></br> 

    <%= radio_button_tag("q[location_cont]", "Kentucky") %> 
    <%= label_tag "Kentucky" %></br></br> 

    <%= radio_button_tag("q[location_cont]", "Kansas") %> 
    <%= label_tag "Kansas" %></br></br> 

    <%= f.submit "Search" %> 
<% end %> 

Контроллер:

def index 
    @search = Job.search(params[:q]) 
    @jobs = @search.result 
end 

ответ

1

Если вы использовали form_tag, то radio_button_tag будет допустимый тип поля для использования. И вы могли бы использовать третий параметр, чтобы указать, если кнопка выбрана или нет:

<%= radio_button_tag("q[location_cont]", "Kentucky", params[:q] && params[:q][:location_cont] == "Kentucky") %> 
<%= label_tag "Kentucky" %></br></br> 

<%= radio_button_tag("q[location_cont]", "Kansas", params[:q] && params[:q][:location_cont] == "Kansas") %> 
<%= label_tag "Kansas" %></br></br> 

Поскольку вы используете Ransack search_form_for, то вы хотите использовать radio_button, и я думаю, что вы хотели бы что-то вроде этого:

<%= f.radio_button(:location_cont, "Kentucky") %> 
<%= f.label :location_cont, "Kentucky", value: "Kentucky" %></br></br> 

<%= f.radio_button(:location_cont, "Kansas") %> 
<%= f.label :location_cont, "Kansas", value: "Kansas" %></br></br> 
+0

Хм ... Не удалось сохранить состояние выбора. Не знаю, почему ... –

+0

Я обновил ответ с дополнительным предложением. – cschroed

+0

Спасибо! Очень признателен. –

Смежные вопросы