2012-12-08 11 views
8

Nella mia applicazione rota sto usando devise gem per gestire gli utenti. Sto usando mobile_fu gem per separare utenti provenienti da utenti diversi.Come accedere automaticamente utilizzando il Dispositivo dopo la registrazione?

Quello che voglio fare qui è:

  1. Se un utente apre il mio sito da un dispositivo mobile Io estrarre il suo colpo di testa lettura MSISDN numero si è già fatto
  2. Se questo MSISDN numero cade in un serie particolari quindi voglio accedere automaticamente all'utente al mio sito Web in modo che non debba compilare il modulo sign_in.

Come posso ottenere questo?

risposta

4

Dovete:

1) registrare l'utente nel sito web per disposizione testamentaria. 2) Accedi all'utente.

Per l'opzione 1, si può fare qualcosa di simile:

user = User.find_by_msisdn(params[:msisdn]) 
if user.nil? 
    user = User.create(field_1: value1, field_2: value2)  
end 

sign_in(user) 

redirect_to after_sign_in_path(user) 

Le cose di avere in mente, la prima linea cerca di trovare per l'utente, sulla seconda riga, se non riesce a trovare l'utente, crea subito l'utente, quindi firma l'utente e infine reindirizza l'utente a dove dovrebbe andare dopo il login.

+0

Ho provato questo, ma quando reindirizzato a una pagina diversa l'utente non è loggato più. Subito dopo sign_in (utente) ci sono dati in current_user e user_signed_in? ritorna vero Tuttavia, user_signed_in? restituisce false quando vengono indirizzate a pagine diverse del sito. Qualche idea? – user2974739

+0

user_session è vuoto. Suppongo che abbia qualcosa a che fare con quello. Qualche suggerimento su come impostare la sessione utente? – user2974739

+1

'after_sign_in_path' viene rinominato in' after_sign_in_path_for'. – artificis

Problemi correlati