2011-01-26 2 views
5

Я в настоящее время с помощью выбора следующим образом (в виде):рубин на рельсах выбрать не недобросовестный к текущему значению

<% form_for :search, :url => search_path, :html => {:method => :get} do |f| %> 
     <%= select('search', :type, options_for_select(['Artist', 'Track'])) %> 
     <%= f.text_field :query %> 
<% end %> 

Это работает, но когда я выполнить поиск, то по умолчанию обратно художника даже если пользователь выбрал Трек перед поиском. Как я могу это исправить?

Автоматический выбор текущего значения работает для радио-кнопок:

<% form_for @search, :url => search_path, :html => {:method => :get} do |f| %> 
    <p class="radio_button"> 
    <%= f.label :type_track, 'Search tracks' %> 
    <%= f.radio_button :type, 'Track' %> 
    </p> 
    <p class="radio_button"> 
    <%= f.label :type_artist, 'Search artists' %> 
    <%= f.radio_button :type, 'Artist' %> 
    </p> 
    <p class="text_field"> 
    <%= f.label :query, 'Search query' %> 
    <%= f.text_field :query, :class => 'auto_focus' %> 
    </p> 
    <p class="submit"> 
    <%= submit_tag 'Go' %> 
    </p> 
<% end %> 

Любая помощь в получении этой работы будет весьма признателен!

ответ

6

Вы должны использовать select форму строитель:

<%= f.select(:type, [["text1", "value1"], ["text2", "value2"], ...]) %> 
+0

жаль - что должно массив pairs_name_id выглядеть ..? – tiswas

+0

[["text", value], ["text2", "value2"]] – apneadiving

+0

woo - спасибо! – tiswas

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