Forum: Rails-ES Rails && ¿javascript?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
04956c2cf4af50522c3eb5e1780ef7b2?d=identicon&s=25 Fernando Fuerte (railsman69)
on 2009-02-12 16:50
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.
6f952bee7570a3db2ecba5b06c0062b3?d=identicon&s=25 Fernando Guillen (fguillen)
on 2009-02-12 17:05
(Received via mailing list)
El día 12 de febrero de 2009 16:50, Fernando Fuerte
<ruby-forum-incoming@andreas-s.net>
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.
This topic is locked and can not be replied to.