2013-01-22 25 views
6

Mam następujący kod w moim index.html.erbJak dodać link_to do select_tag z Rails/ERB?

<%= select_tag 'team_id', options_for_select(@teams.map{|team| ["#{team.name} # 
    {team.nick}", team.id] }) %> 

Gdzie Dodam pomocnika link_to ramach tego bloku? Czy mogę nawet dodać link_to dla select_tag?

Żądany link_to pojedzie do '/ teamleader/ID_OF_OPTION_PICKED'

UPDATE:

Aby wyraźniej; gdy użytkownik wybierze opcję ze znacznika wyboru, chcę przekierować stronę do pożądanego linku (z linku do).

+1

po wybraniu opcji z zaznaczonym znacznikiem, który chcesz przekierować stronę do żądanego łącza, prawda? – shweta

+2

yes @shweta, zaktualizuję moje pytanie o te informacje. – asing

Odpowiedz

6
<%= select_tag 'team_id', options_from_collection_for_select(@teams, "id", "name") %> 

<script> 
    $(function(){ 
     $('#team_id').bind('change', function() { 
     var url = "/Teamleader/" + $(this).val() 
      if (url) { 
       window.location.replace(url); 
      } 
      return false; 
     }); 
    }); 
</script> 
+2

Dzięki @Evgeniy, wydaje się, że nie mogę dodać link_to w select_tag. Jquery to jest! – asing

+0

To było moje rozwiązanie, ale dokonałem zmiany. window.location.href = url; Jeśli użyjesz zamiennika, przycisk Wstecz nie będzie działał poprawnie, ale jeśli ustawisz URL do adresu URL, to będzie;) –

5

Spróbuj:

<%= select_tag 'team_id', options_from_collection_for_select(@teams, "id", "name"),:onchange => "window.location.replace('/Teamleader/'+this.value);" %>