La funzionalità che ho intenzione di fare è inserire alcuni elementi del modulo in base a un numero scelto da un tag select.esegue il rendering parziale da jquery e haml
Ho un tag select chiesto number_of_passengers, e ho intenzione di aggiungere dinamicamente nuovi campi passeggeri per il numero scelto. Diciamo che seleziono 2 da number_of_passengers, quindi 2 form dovrebbero apparire in un fieldset. queste forme contengono il nome, età, ecc peso
ho provato seguendo questo:
call a rails function from jquery?
ed appena convertiti al Haml-parlare ma ottengo gli errori ogni volta che uso il: javascript tag. Anche io non penso di poter "scappare" il tag javascript una volta che sono in esso
: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 }) %>');
}
})
anche perché mi trovo in una form_for, come faccio a passare la variabile @booking al locale? Sembra davvero complicato e sto pianificando di fare la sporca via d'uscita da un loop di 20 volte (20 passeggeri max), quindi nasconderli/mostrarli a seconda del numero selezionato. Ma è troppo sporco, non credi?
Hai mai provato la mia risposta? Nel caso non fosse chiaro: stavi usando l'interpolazione stile erb all'interno di haml, ma contento di aver trovato qualcosa che funzionasse. – nathanvda
Sto cercando di dare un senso a cosa hai fatto qui, interessato anche a rendere un po 'HTML basato su ciò che è all'interno di un condizionale javascript. Dove esiste "new_passenger"? E la tua risposta, dove hai posto questo codice? – Tass
new_passenger esiste nella stessa cartella di visualizzazione del controller, quindi in il mio caso, bookingcontroller chiamato così era in app/views/prenotazioni – corroded