Webサイトでユーザー登録ビューとモデルを作成しようとしていますが、小さな問題があります。
私はdeviseとomniauthを使用して、Facebook接続機能を機能させていますが、Facebookユーザーが初めてサインインしたときにパスワードを作成してほしいのですが、それも機能しています。記入済みのサインアップフォームにリダイレクトします。パスワードを入力するだけです。ただし、パスワードのみを入力できる/views/registrations/new_facebook.html.erbという名前の2番目の「sign_upフォーム」に移動してもらいたいので、他の情報も追加します。
正しいビューを作成してテストしましたが、Deviseのデフォルトをバイパスするための正しいルートを作成する方法がわかりません
match '/facebook' => 'registrations#new', :as => 'new_facebook_user_registration'
問題はマッチにあると思います。それが認識されていないからです。
誰かが私を助けることができれば、それは大きな感謝です、
omniauthのコントローラーコードを追加しました:
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
def all
user = User.from_omniauth(request.env["omniauth.auth"])
if user.persisted?
flash[:success] = "Welcome back"
sign_in_and_redirect user
else
session["devise.user_attributes"] = user.attributes
redirect_to new_facebook_user_registration_url
end
end
alias_method :facebook, :all
終わり
redirect_to new_facebook_user_registration_urlを実際に機能させるにはどうすればよいですか?