El selected en el collection_select no funciona

Hola amigos estoy usando en mi vista el helper collection_select y
necesito
que me aparezca seleccionado por efecto un valor que le paso por
parametro,
deberia funcionar pero en realidad no hace nada, a alguin le ha pasado
lo
mismo?
Aqui les coloco el codigo del collection_select

<%= collection_select (:segmento, :id, Segmento.find(:all, :order => ‘id
asc’), :id, :id_with_desc, {:selected => @articulo.segmento_id.to_s},
:class
=> ‘combo’)

On Thu, Sep 11, 2008 at 23:55, Manuel P.
[email protected] wrote:

Hola amigos estoy usando en mi vista el helper collection_select y necesito
que me aparezca seleccionado por efecto un valor que le paso por parametro,
deberia funcionar pero en realidad no hace nada, a alguin le ha pasado lo
mismo?
Aqui les coloco el codigo del collection_select

<%= collection_select (:segmento, :id, Segmento.find(:all, :order => ‘id
asc’), :id, :id_with_desc, {:selected => @articulo.segmento_id.to_s}, :class
=> ‘combo’)

¿Has probado sin .to_s?

este es mi collection select…

y cuando lo muestro desde edit se mantienen los datos que tiene
seleccionado el registro…

<%= f.collection_select :banco_id, Banco.find(:all), :id, :banco,
:prompt => “Seleccione Banco” %>

Suerte

Pues pienso que podrian ser la relaciones que tienes entre tus
modelos…

podrias mostrar las relaciones en estos…

si y nada que funciona amigo… no se que hacer de verdad

El 12 de septiembre de 2008 0:06, Daniel R. Troitiño <
[email protected]> escribió:

Hola amigos estoy usando en mi vista el helper collection_select y necesito
que me aparezca seleccionado por efecto un valor que le paso por parametro,
deberia funcionar pero en realidad no hace nada, a alguin le ha pasado lo
mismo?
Aqui les coloco el codigo del collection_select

<%= collection_select (:segmento, :id, Segmento.find(:all, :order => ‘id
asc’), :id, :id_with_desc, {:selected => @articulo.segmento_id.to_s}, :class
=> ‘combo’)

Tuve el mismo problema hace poco Manuel, y la unica manera de darle
solucion
al asunto fue
utilizando select en vez de collection_select de la siguiente manera:

select(:modelo, :metodo, Model.find(:all).collect {|o| [o.descripcion,
o.valor]}, { :selected => “Valor que quiero”, :prompt => “Seleccione
…”})

Espero te ayude de algo.

Saludos,

bueno cuando utilizas el f.collection_select si se funciona pero en esta
oportunidad estoy usando el collection solo y no funciona… ya he leido
varios foros en ingles y mucha gente tiene ese mismo problema y nada que
dan
con la solucion

El 12 de septiembre de 2008 21:26, Faustino V. <
[email protected]> escribió:

2008/9/12 Alberto Q. [email protected]:

Saludos,

Acabo de mirar el código de Rails y es cierto. select utiliza la
opción :selected, pero collection_select nunca la utiliza y por lo
tanto nunca va a funcionar. No estoy seguro de que sea un bug: la
documentación de select habla de la opción :selected, pero la de
collection_select no.

Una cosa que no comprendo es tu forma de utilizar collection_select:
parece que tienes dos objetos, segmento y artículo, y quieres
establecer el valor de segmento.id, de entre todos los segmentos y
pones como selected el valor de articulo.segmento_id. O lo estoy
entendiendo mal o le quieres cambiar el id a un objeto existente… de
entre los ids de los demás objetos. Lo más posible es que la base de
datos ni siquiera te deje hacerlo.

Creo que lo que tú quieres es algo así:

<%= collection_select (:articulo, :segmento_id, Segmento.find(:all,
:order => 'id

asc’), :id, :id_with_desc, :class
=> ‘combo’) %>

Que te permitiría cambiar el segmento asociado a un artículo y Rails
automáticamente seleccionaría el segmento actual del artículo y lo
salvaría correctamente.

Si de verdad quieres hacer lo que propone tu correo original la opción
de Alberto parece la más sencilla.

Suerte.

Y aquí está el ticket abierto desde tiempos inmemoriales en el antiguo
bug-tracker de Rails: http://dev.rubyonrails.org/ticket/7043. Lo he
reabierto y enviando un parche en el nuevo bug-tracker:
http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/1037-selected-option-is-ignored-for-collection_select.
A ver si alguién pasa por allí y le da unos +1.