2013-01-22 8 views
6

Ich habe den folgenden Code in meinem index.html.erbWie fügt man einen Link_to in einem select_tag mit Rails/ERB?

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

Wo würde ich einen link_to Helfer in diesem Block hinzu? Kann ich sogar einen link_to für select_tag hinzufügen?

Die gewünschte link_to gehen würde '/ Teamleiter/ID_OF_OPTION_PICKED'

UPDATE:

Um mehr klar; Wenn ein Benutzer eine Option aus dem Auswahl-Tag auswählt, möchte ich die Seite auf den gewünschten Link (von link_to) umleiten.

+1

, wenn Sie eine Option aus dem select-Tag wählen, möchten Sie die Seite zu Ihren gewünschten Link umleiten, oder? – shweta

+2

ja @shweta, ich werde meine Frage mit dieser Info aktualisieren. – asing

Antwort

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

Danke @Evgeniy, scheint, als könnte ich keinen link_to in einem select_tag hinzufügen. Jquery ist es! – asing

+0

Das war meine Lösung, aber ich habe eine Änderung vorgenommen. window.location.href = url; Wenn Sie Ersetzen verwenden, funktioniert die Zurück-Schaltfläche nicht richtig, aber wenn Sie die href auf die URL setzen, wird es;) –

5

Versuchen:

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