Foros del Web » Programando para Internet » Ruby »

Error con Find...

Estas en el tema de Error con Find... en el foro de Ruby en Foros del Web. Hola, estoy aprendiendo Ruby y tengo un problema.... y al parecer la informacion que hay al respecto no la he entendido, por lo que agradeceré ...
  #1 (permalink)  
Antiguo 12/01/2007, 09:15
 
Fecha de Ingreso: enero-2007
Mensajes: 2
Antigüedad: 17 años, 10 meses
Puntos: 0
Error con Find...

Hola, estoy aprendiendo Ruby y tengo un problema.... y al parecer la informacion que hay al respecto no la he entendido, por lo que agradeceré ayuda...

Estoy llamando a un metodo, dentro de este necesito cargar @trabajador, lo hago de la siguiente manera:

@trabajador = Trabajador.find(:all,
:conditions =>[" persona_id = "+ params[:id]])


el id, viene del .rhtml que carga el método.
El error que me aparece es:

undefined method `stringify_keys!' for "240":String

entiendo que me está tomando el id correctamente pero que lo lee como un string en vez de un integer... como diablos le digo que es un integer?!?!?!

gracias...
  #2 (permalink)  
Antiguo 23/04/2007, 21:12
Avatar de willywg  
Fecha de Ingreso: julio-2005
Mensajes: 38
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: Error con Find...

Saludos Chika, debes pasar el parámetro conditions de la siguiente manera:

Código PHP:
 @trabajador Trabajador.find(:all
                     :
conditions =>[" persona_id = ?"params[:id]]) 
Rails asumirá por defecto el tipo de dato para el id. En este caso integer.

De otro lado si quieras pasar un valor a entero debes usar variable.to_i
  #3 (permalink)  
Antiguo 23/04/2007, 21:51
 
Fecha de Ingreso: septiembre-2006
Mensajes: 5
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Error con Find...

hola chika, no tengo mucho tiempo en este del rails pero si he realizado eso... la manera en que yo lo hago es la siguiente



@registro = Nombre_del_model.find(@params["id"])


obviamente @registro se te convertira en un arreglo (array) con toda la informacion del registro con id "id"


luego para accesar a su id puedes hacer

@registro.id

Nombre

@registro.nombre

etc


Nota: Nombre_del_model, es el nombre de tu tabla en singular...
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 15:24.