Foros del Web » Programando para Internet » Ruby »

Informacion personalizada en un select que viene de un juego de registros

Estas en el tema de Informacion personalizada en un select que viene de un juego de registros en el foro de Ruby en Foros del Web. Hola amigos, Tengo en mi controller esto Código: @users = User.all Y en la vista creo un select así: Código: <%= f.select(:user_id, options_from_collection_for_select(@users, :id, :user), ...
  #1 (permalink)  
Antiguo 06/01/2014, 21:04
Avatar de kalvinman  
Fecha de Ingreso: octubre-2006
Ubicación: Bogota Colombia
Mensajes: 849
Antigüedad: 18 años, 1 mes
Puntos: 22
Pregunta Informacion personalizada en un select que viene de un juego de registros

Hola amigos,

Tengo en mi controller esto

Código:
@users = User.all
Y en la vista creo un select así:

Código:
<%= f.select(:user_id, options_from_collection_for_select(@users, :id, :user), {}, { :class => 'form-control' }) %>
Hasta ahi todo perfecto, lo que pasa es que quiero que no solo salga el nombre de usuario en el option del select sino que también aparezca su apellido y cosas así no solo :user

Y tambien me interesaria saber lo siguiente: El usuario pertenece a un Colegio entonces quisiera saber como puedo hacer para que en el option me aparezca el nombre del usuario y el colegio al que pertenece.

Gracias.
  #2 (permalink)  
Antiguo 07/01/2014, 16:53
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: Informacion personalizada en un select que viene de un juego de registros

Puedes en tu modelo User definir un método, tal que:

Código Ruby:
Ver original
  1. # models/user.rb
  2. def nombre_completo
  3.   self.nombre+" "+self.apellido
  4. end

Y ya luego le pasas :nombre_completo a options_from_collection_for_select.

Etiquetas: rails
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:31.