Rails 2.3とDeviseを使用して、ユーザーの登録/認証を処理しています。
ユーザーがアカウントにサインアップした直後に、ユーザーを外部のサードパーティのWebサイトにリダイレクトする必要があります。コードとオンラインを調べていますが、これを行う方法がわかりません。
ユーザーをリダイレクトするようにデバイスフローを変更するにはどうすればよいですか?
アプリケーションコントローラーに追加します
# Devise: Where to redirect users once they have logged in
def after_sign_up_path_for(resource)
"http://www.google.com" # <- Path you want to redirect the user to.
end
使用できるDeviseヘルパーのリストは次のとおりです http://rdoc.info/github/plataformatec/devise/master/Devise/Controllers/Helpers
それがお役に立てば幸いです=)
「correct」の回答としてリストされている回答は、特にsign_inの後を指します... sign_upの後にユーザーをリダイレクトする場合は、以下:
def after_sign_up_path_for(resource)
"http://www.google.com" # <- Path you want to redirect the user to after signup
end
詳細については、 wiki を参照してください。
Deviseの確認を使用している場合(つまり、ユーザーがサインアップした直後にアクティブ化されない場合)、after_inactive_sign_up_path_for
メソッドを上書きする必要があります。
# controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
def after_inactive_sign_up_path_for(resource)
"http://somewhere.com"
end
end
必ず、RegistrationsControllerを使用するようにdeviseに指示してください。
# config/routes.rb
devise_for :users, :controllers => {:registrations => 'registrations'}