私のアプリでは、ユーザーはこのチュートリアルのコードを使用して Facebook でログインできます。唯一の問題は、アプリにサインアップしたユーザーが昔ながらの方法でサインアップできるようにしたいことです (ユーザーがサインアップ ページに移動し、電子メール、パスワードなどのすべてのデータを入力し、Facebook でログインしないように)。 Facebook アカウントを既存のアカウントに接続できる。これに関する質問は見たことがありません。これをどのように実装すればよいか疑問に思っています。
Omniauthcallbacks コントローラー
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def all
user = User.from_omniauth(request.env["omniauth.auth"])
if user.persisted?
flash.notice = "Signed in!"
sign_in_and_redirect user
else
session["devise.user_attributes"] = user.attributes
redirect_to new_user_registration_url
end
end
alias_method :facebook, :all
end