2011-01-26 11 views
5

obecnie używam select następująco (w formie):Ruby on Rails nie wybierzesz zalegających do wartości bieżącej

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

To działa, ale kiedy przeprowadzić wyszukiwanie, domyślnie z powrotem do muzyki nawet jeśli użytkownik wybrał opcję Śledź przed wyszukiwaniem. Jak mogę to poprawić?

Automatycznie wybierając bieżącą wartość pracuje dla przycisków radiowych:

<% 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 %> 

Każda pomoc się to do pracy będą bardzo mile widziane!

Odpowiedz

6

Musisz użyć konstruktora select forma:

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

przepraszam - co powinno tablica pairs_name_id wyglądać ..? – tiswas

+0

[["tekst", wartość], ["tekst2", "wartość2"]] – apneadiving

+0

woo - dziękuję! – tiswas