Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/08/2014, 09:42
Avatar de drako_darpan
drako_darpan
 
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Problema con persisted

Hola que tal, bueno este msj es porque se me esta presentando un problema al usar pesisted.

En mi controlador obtengo la informacion de facebook de un usuario, luego si el usuario ya existe lo redirecciono a la authenticacion; de lo contrario le muestro los errores.

Pero al hacer dicha validacion ( if @usuario.persisted? ), me sale el siguiente mensaje de error:

" undefined method `persisted?' for nil:NilClass "

Tengo esto en mi controlloer:

Código Ruby:
Ver original
  1. auth = request.env["omniauth.auth"]
  2.  data = {
  3.    :nombre => auth.info.first_name,
  4.    :apellido => auth.info.last_name,
  5.    :username => auth.info.nickname,
  6.    :email => auth.info.email,
  7.    :provider => auth.provider,
  8.    :uid => auth.uid
  9.   }
  10.  
  11.   @usuario = Usuario.find_or_create_by_omniauth(data)
  12.  
  13.   if @usuario.persisted?
  14.     sign_in_and_redirect @usuario, :event => :authentication
  15.   else
  16.     session[:Omniauth_errors] =  @usuario.errors.full_messages.to_sentence           unless @usuario.save
  17.     session[:Omniauth_data] = data
  18.     redirect_to new_usuario_registration_url
  19.   end

Pero no me queda claro, por que sale dicho error. Uso omniauth para obtener la informacion, si alguien me pudiera explicar mejor cual es el problema se lo agradeceria.

Seguire investigando
__________________
Your Code as a Crime Scene...