2012-12-08 12 views
8

Raylarım uygulamasında kullanıcıları yönetmek için devise gem kullanıyorum. Farklı kullanıcılardan gelen kullanıcıları ayırmak için mobile_fu taş kullanıyorum.Kayıttan sonra Cihaz'ı kullanarak otomatik olarak nasıl giriş yapılır?

Ya burada başarmak istiyorum: Bir kullanıcı bir mobil cihazdan sitemi açar

  1. Eğer bunu MSISDN sayı içinde düşerse zaten
  2. yapılır onun MSISDN sayı okuma başlığını çıkartır belirli bir dizi sonra o kullanıcı web siteme otomatik oturum açmak istiyorum böylece o sign_in formu doldurmak zorunda kalmayacak.

Bunu nasıl başarabilirim?

1) vasiyetle için web sitesine kullanıcı Kayıt:

cevap

4

Sen gerekiyor. 2) Kullanıcıyı giriş yap. seçenek 1 için

, gibi bir şey yapabilirsiniz: akılda olması

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) 

şeyler, ilk satır o kullanıcıyı bulamazsa, ikinci satırda, kullanıcı için bulmaya çalışır, Kullanıcıyı hemen yaratır, sonra kullanıcının oturumunu açar ve son olarak kullanıcıyı, oturum açtıktan sonra nereye gitmesi gerektiğine yönlendirir.

+0

Bunu denedim, ancak farklı bir sayfaya yönlendirildiğinde, artık kullanıcı oturumu açmadı. Sign_in (user) 'den hemen sonra current_user ve user_signed_in'de veri var mı? doğru döndürür. Ancak, user_signed_in? sitede farklı sayfalara yönlendirildiğinde false döndürür. Herhangi bir fikir? – user2974739

+0

user_session boş. Bunun bununla ilgili bir şey olduğunu varsayarak düşünüyorum. Kullanıcı oturumunu nasıl ayarlayacağınıza dair herhangi bir öneriniz var mı? – user2974739

+1

'after_sign_in_path', 'after_sign_in_path_for' olarak yeniden adlandırıldı. – artificis

İlgili konular