Forum: Rails-ES manejo de listas desplegables grandes

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.
William B. (Guest)
on 2007-01-24 23:24
Bueno Muchachos.

mis problemas continuan:

tengo un formulario y uno de los campos lo debo cargar desde una lista
de valores; como esta lista tiene muchos valores yo en java hacia otro
formulario en el cual hacia un filtro a la lista, en este seleccionaba
el valor y lo devolvia al formulario inicial que lo habia invocado a
manera de pantalla emergente. como puedo hacer esto en ruby?

mil gracias por su ayuda tan valiosa.

william
Benjamín Cárdenas Salamandra (Guest)
on 2007-01-25 00:57
(Received via mailing list)
hola William,
Como la lista se genera de una tabla padre de la que estas editando,
debes hacer en el modelo un

belongs_to :tabla_padre_en_singular, :foreign_key => 'mi_real_id'

y en la vista debes hacer los siguiente:


<%= select "nombre_tabla_en_singular", "nombre_campo",
 TablaPadre.find_all.collect {|fila| [fila.columna_a_mostrar,fila.id]},
{ :include_blank => true } %>

{ :include_blank => true } ----> esta parte solo si deseas que se pueda
dejar en blanco la seleccion, si no, no lo pones
Xavier N. (Guest)
on 2007-01-25 11:43
(Received via mailing list)
On Jan 24, 2007, at 10:24 PM, William B. wrote:

> tengo un formulario y uno de los campos lo debo cargar desde una lista
> de valores; como esta lista tiene muchos valores yo en java hacia otro
> formulario en el cual hacia un filtro a la lista, en este seleccionaba
> el valor y lo devolvia al formulario inicial que lo habia invocado a
> manera de pantalla emergente. como puedo hacer esto en ruby?

En Rails puedes ofrecer autocompletado en el campo de texto:

   http://wiki.rubyonrails.org/rails/pages/How+to+use
+text_field_with_auto_complete

Si lo que hay que seleccionar es un modelo, en lugar de una cadena
pelada, se publico hace poco este plugin

   http://agilewebdevelopment.com/plugins/model_auto_completer

-- fxn
Manuel González Noriega (Guest)
on 2007-01-25 13:39
(Received via mailing list)
On 25/01/07, Xavier N. <removed_email_address@domain.invalid> wrote:
> On Jan 24, 2007, at 10:24 PM, William B. wrote:
>
> > tengo un formulario y uno de los campos lo debo cargar desde una lista
> > de valores; como esta lista tiene muchos valores yo en java hacia otro
> > formulario en el cual hacia un filtro a la lista, en este seleccionaba
> > el valor y lo devolvia al formulario inicial que lo habia invocado a
> > manera de pantalla emergente. como puedo hacer esto en ruby?
>
> En Rails puedes ofrecer autocompletado en el campo de texto:

Solo un +1 para la solución de Xavier. Es un problema de usabilidad y
el autocompletado es bastante más amigable que un select enorme.

--
Manuel
http://linkja.com * un agregador de tendencias
http://simplelogica.net
http://simplelogica.net/logicola
Benjamín Cárdenas Salamandra (Guest)
on 2007-01-25 13:50
(Received via mailing list)
Manuel González Noriega wrote:
> Solo un +1 para la solución de Xavier. Es un problema de usabilidad y
> el autocompletado es bastante más amigable que un select enorme.
>
>

Pero el autocompletado permite agregar valores que no estén en la tabla
padre (o sea nuevos). Y como manejas el id foráneo (que es el que
realmente se debe guardar en la tabla hija)?
Xavier N. (Guest)
on 2007-01-25 14:19
(Received via mailing list)
On Jan 25, 2007, at 12:49 PM, Benjamín Cárdenas Salamandra wrote:

> Manuel González Noriega wrote:
>> Solo un +1 para la solución de Xavier. Es un problema de usabilidad y
>> el autocompletado es bastante más amigable que un select enorme.
>>
>>
>
> Pero el autocompletado permite agregar valores que no estén en la
> tabla
> padre (o sea nuevos). Y como manejas el id foráneo (que es el que
> realmente se debe guardar en la tabla hija)?

El plugin por defecto no deja hacer tal cosa. Y si el usuario edito,
para que se de cuenta de que ese "valor" no va a ser enviado (que en
realidad significa que el ID oculto es el de la seleccion), al perder
el foco se repone la cadena. Eso se hace con una cache privada por
textfield (en JavaScript).

Si se le dice al plugin que permita ediciones (:allow_free_text =>
true), entonces el contrato es que si el usuario edita el campo, el
ID viajara como la cadena vacia. En ese caso ya es responsabilidad
del controlador saber que hacer.

-- fxn
Benjamín Cárdenas Salamandra (Guest)
on 2007-01-25 16:05
(Received via mailing list)
ok, capichi y gracias por la
aclaración
William B. (Guest)
on 2007-01-25 17:03
Benjamín Cárdenas Salamandra wrote:
> ok, capichi y gracias por la
> aclaraci󮊊

Gracias muchachos, me pondre a estudiar.

si la lista la obtengo de un modelo, me imagino que debo utilizar:
http://agilewebdevelopment.com/plugins/model_auto_completer.

te pregunto Benjamin:  dime donde trabajas? en una empresa de software?
y trabajan mucho ruby? que tal te parece?

me gustaria que me contaras tu experiencia.

William

removed_email_address@domain.invalid
This topic is locked and can not be replied to.