Rails && ¿javascript?


#1

Hola lista,
esta es mi primera pregunta que hago aquí, aunque llevo ya varias
semanas leyendo todo lo que se postea. felicidades por un foro es
español.

Tengo un problema,
resulta que tengo un formulario con un select de productos, es una base
de datos de reparaciones. Debajo de este select, tengo un botón de
AÑADIR REPUESTO, el usaurio lo pulsa las veces que quiera y le aparece
una línea tipo:

CANTIDAD REPUESTO NOTAS PRECIO DESCUENTO
1 Batería 10 1
[eliminar]

[Añadir repuesto]

El problema que tengo, es que REPUESTO (que ahora aparece Batería en el
ejemplo) es otro SELECT, pero sólo quiero mostrar los repuestos que
dependen del producto que se seleccione en el SELECT de productos, no
todos lo que tengo en la base de datos. Este es el código del botón de
añadir:

<%= link_to_function(‘Añadir repuesto’) do |page|
page[’#repuestos’].append render(:partial => “repuestos/item”, :object
=> Repuestos.new, :locals => {:product => 1})
end %>

Luego en el partial _item.html.erb, ya puedo buscar repuestos
Repuestos.find_all_by_product(product)
Pero claro, el 1 lo estoy pasando a mano, y no se como cogerlo
dinámicamente del primer select.

¿Alguien me puede dar alguna idea?

Muchas gracias.


#2

El día 12 de febrero de 2009 16:50, Fernando F.
removed_email_address@domain.invalid
escribió:>

<%= link_to_function(‘Añadir repuesto’) do |page|
page[’#repuestos’].append render(:partial => “repuestos/item”, :object
=> Repuestos.new, :locals => {:product => 1})
end %>

leches!.. el link_to_function… estoy mirando y esto me está
resultando un poco engañoso…

Creo que lo que pongas dentro del bloque do/end es estático… y se
renderiza una vez y ya no se modifica, por mucho que parezca lo
contrario (no hace llamada ajax), por lo que para tu necesidad no te
sirve.

Yo tiraría más por un link_to_remote (ajax), donde llamas a una
acciónde controlador pasándole por parámetro la id del producto
seleccionado( cogido por javascript rollo $(’#products_select’).val();
) y que renderice en tiempo real el partial ‘repuestos/item’.

Suerte
f.