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
auth = request.env["omniauth.auth"] data = { :nombre => auth.info.first_name, :apellido => auth.info.last_name, :username => auth.info.nickname, :email => auth.info.email, :provider => auth.provider, :uid => auth.uid } @usuario = Usuario.find_or_create_by_omniauth(data) if @usuario.persisted? sign_in_and_redirect @usuario, :event => :authentication else session[:Omniauth_errors] = @usuario.errors.full_messages.to_sentence unless @usuario.save session[:Omniauth_data] = data redirect_to new_usuario_registration_url 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