2012-12-08 12 views
8

私のレールアプリケーションでは、ユーザーを管理するためにdevise gemを使用しています。私はmobile_fu gemを使用して、別のユーザーからのユーザーを分離しています。登録後にデバイスを使って自動的にログインする方法は?

私がここに達成したいことは次のとおりです。ユーザーはモバイルデバイスから、私のサイトを開きます

  1. なら、私はそのMSISDN数はに落ちる場合は、それがすでに
  2. 行われ、そのMSISDN番号読んヘッダを抽出します特定のシリーズは、私は彼がsign_inフォームを埋める必要がないように私は自動的にそのユーザーを自分のウェブサイトにログインしたい。

これをどのように達成できますか?

答えて

4

あなたがする必要があります:

1)工夫のためのウェブサイトにユーザーを登録します。 2)ユーザーにログインします。オプション1の場合

、あなたのような何かを行うことができます:物事は心の中で持っている

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) 

を、最初の行は、それがユーザーを見つけることができない場合、二行目に、ユーザーのために見つけようとし、すぐにユーザーを作成してから、ユーザーのサインインを行い、最後にログイン後にユーザーをリダイレクトします。

+0

私はこれを試しましたが、別のページにリダイレクトされると、ユーザーはもうログインしません。 sign_in(user)の直後に、current_userとuser_signed_inにデータがありますか? trueを返します。しかし、user_signed_in?サイト上の別のページに移動するとfalseを返します。何か案は? – user2974739

+0

user_sessionは空白です。私はそれがそれと関係があると仮定しています。どのようにユーザーセッションを設定するための任意の提案? – user2974739

+1

'after_sign_in_path'の名前が' after_sign_in_path_for'に変更されました。 – artificis