Rendere einen Teil von jquery und haml

Die von mir geplante Funktionalität besteht darin, einige Formularelemente abhängig von einer aus einem ausgewählten Tag ausgewählten Nummer einzufügen.

Ich habe ein Select-Tag für die Anzahl der Passagiere, und ich plane, neue Passagierfelder für die ausgewählte Nummer dynamisch anzufügen. Angenommen, ich wähle 2 aus number_of_passengers aus, dann sollten 2 Formulare in einer Feldmenge erscheinen. Diese Formulare enthalten Namen, Altersgewicht usw.

Ich habe Folgendes versucht:

Call a Rails Funktion von jquery?

und habe es gerade in haml-speak konvertiert, aber ich erhalte Fehler, wenn ich den Tag: javascript verwende. Ich glaube auch nicht, dass ich dem Javascript-Tag "entkommen" kann, wenn ich erst einmal drin bin

:javascript
  $('#number_of_passengers').change(function() {
    var $num_of_passengers = $(this).val();
    for($i=0; $i<$num_of_passengers;$i++) {
      $('.passenger-info ul').append('<%= escape_javascript( render :partial => "new_passenger", :locals => {:booking => @booking }) %>');
    }
  })

auch da ich mich in einer form_for befinde, wie übergebe ich die Variable @booking an die lokale? Es scheint wirklich kompliziert zu sein und ich habe vor, den schmutzigen Weg zu gehen, indem ich nur 20 Schleifen (maximal 20 Passagiere) durchführe und sie dann abhängig von der ausgewählten Nummer ein- und ausblenden möchte. Aber das ist zu dreckig, findest du nicht?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage