La funcionalidad que planeo hacer es insertar algunos elementos de formulario dependiendo de un número elegido de una etiqueta de selección.hacer un parcial desde jquery y haml
Tengo una etiqueta de selección llamada number_of_passengers, y planeo agregar dinámicamente nuevos campos de pasajeros para el número elegido. Digamos que selecciono 2 de number_of_passengers, luego 2 formularios deben aparecer en un fieldset. estas formas contienen el nombre, edad, etc. peso
Probé tras esto:
call a rails function from jquery?
y simplemente convertir a Haml-hablar pero me da errores cada vez que use el: javascript etiqueta. Además no creo que pueda "escapar" de la etiqueta JavaScript una vez que estoy en ella
: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 }) %>');
}
})
también ya que estoy en un form_for, ¿cómo puedo pasar la variable @booking a nivel local? Parece realmente complicado y estoy planeando hacer las cosas sucias 20 veces (20 pasajeros máximo) y luego esconderlos/mostrarlos dependiendo del número seleccionado. Pero eso es muy sucio, ¿no crees?
sintaxis
¿Alguna vez ha intentado mi respuesta? En caso de que no fuera claro: estaba usando la interpolación erb-style dentro de haml. Pero me alegro de que haya encontrado algo que funcionó. – nathanvda
Estoy tratando de entender qué lo hiciste aquí, también interesado en renderizar algo de HTML basado en lo que hay dentro de un javascript condicional. ¿Dónde existe "new_passenger"? Y tu respuesta; dónde colocaste este código? – Tass
new_passenger existe en la misma carpeta de visualización que el controlador, por lo tanto mi caso, bookingscontroller lo llamó así que estaba en la aplicación/views/bookings – corroded