2016-05-12 2 views
0

У меня есть форма с выберитерельсы сделать выбор тегов запомнить выбор

<%= form_tag "?", :method => :get, :class => "form-inline" do %> 
<%=select_tag 'brand_name', options_for_select(@brands.collect{ |b| [b.name, b.name] })%> 

    <button class="btn btn-default " type="submit" value ="search">apply </button> 
<%end%> 

Это, кажется, работает. Поэтому я хочу, чтобы включить пустой параметр с текстом select brand Я попытался это:

<%=select_tag 'brand_name', options_for_select(@brands.collect{ |b| [b.name, b.name] }), {:include_blank => 'select brand'}%>

Но теперь этот пустой параметр всегда выбран. Например Если я выбираю coca-cola и нажмите кнопку я иду на страницу mysite?brand_name=coca-cola Но выбранный вариант в моем раскрывающемся списке пустой представить (select brand) Так как я могу сделать это выбрать вариант coca-cola если я выбрал кока-колы. Кроме того, как я добавить имя класса в мой выбор? =)

ответ

-1

вы можете использовать, как это, он работает

<%=select_tag 'brand_name', options_for_select(@brands.collect{ |b| [b.name, b.name] }, params[:dropdownselectvalue])%> 

об изменении выбора тега отправить AJAX запрос со значением dropdownselect и перезагрузить ту же страницу и установить Params над выбором тегом

+0

https://stackoverflow.com/questions/10696227/how-to-make-the-select-tag-keep-value-of-last-search – dft

-1

что выбран этого контролем станет доступно как params[:brand_name] после отправки формы, так что вы можете ссылаться, что в качестве аргумента в select_tag:

<%= select_tag :brand_name, 
       options_for_select(@brands.collect{ |b| [b.name, b.name] }), 
       params[:brand_name], 
       include_blank: 'select brand' %> 

Когда ничего не было отправлено/выбрано, params[:brand_name] будет иметь значение nil, поэтому ничего не будет выбрано, и будет выбрана строка «выбрать бренд».

+0

https://stackoverflow.com/questions/10696227/how -в-макияж на-выберите тег-держать-значение-в-прошлом-поиска – dft

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