Omniauthでログインできる機能を実装したのですが、そもそもそのアカウントでサインアップしていないのでログインしてもそのユーザーに対応するデータがデータベースに無いので何度ログインしてもサインアップの画面に飛ばされてしまいます。
なのでとりあえずtwitterのアカウントを使ってサインアップできるようにしたいのですが、いい方法が思いつきません。
どのような方法をとれば良いでしょうか?
omniauthのcallbackコントローラーに書いたコードはこんな感じです。
def twitter # You need to implement the method below in your model @user = User.find_for_twitter_oauth(request.env["omniauth.auth"], current_user) if @user.persisted? set_flash_message(:notice, :success, :kind => "Twitter") if is_navigational_format? sign_in_and_redirect @user, :event => :authentication else session["devise.twitter_data"] = request.env["omniauth.auth"].except("extra") redirect_to new_user_registration_url end end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。