Hola a todos nuevamente, les comento cual es mi problema y de verdad que
no
se porque me esta pasando esto porque es algo muy estupido…
bueno les comento que en mi proyecto una vez que el usuario se suscribe
en
el site yo creo el usuario en la tabla users y luego obtengo el id y
incluyo
en la tabla alumno los demas datos esto es lo que hago en el controller
de
suscripcione
password = 100000 + rand(899999)
@user = User.new(:login => params[:suscripcione][:login],
:grupousuario_id
=>“1”, :password => password.to_s, :password_confirmation =>
password.to_s,
:status => “A”, :denusu => params[:suscripcione][:nombre], :email =>
params[:suscripcione][:login], :created_at => Time.now)
@user.save
@u = User.find(:all,:conditions => “login = '”+
params[:suscripcione][:login]+ “’”) #para obtener el id del usuario que
acabo de crear
#luego incluyo en Alumno los demas datos
@alumno = Alumno.new(:nombre => params[:suscripcione][:nombre],
:apellido =>
params[:suscripcione][:apellido], :sexo =>
params[:suscripcione][:sexo],
:user_id => @u.id)
Al parecer todo bien pero da el siguiente error que no lo entiendo:
ActiveRecord::StatementInvalid in SuscripcionesController#create
PGError: ERROR: inserción o actualización en la tabla «alumnos» viola
la llave foránea «fk_alumnos_users»
DETAIL: La llave (user_id)=(-612873488) no está presente en la tabla
«users».
: INSERT INTO alumnos (“nombre”, “apellido”, “sexo”, “user_id”)
VALUES(E’Julio’, E’Valencia’, E’M’, -612873488)
Mi pregunta y gran duda es porque rails me esta devolviendo el id del
user -612873488? cuando consulto en la base de datos el id de ese
nuevo usuario es => 21
No entiendo alguien me puede explicar que esta pasando alli?
Primera vez que me pasa esto, hice pruebas con find_by_sql,
find_by_login, find(:last) y me da el mismo error y el mismo user_id =
-612873488