我正在使用Rails 2.3和Devise来处理用户注册/身份验证。
我需要在用户注册帐户后立即将用户重定向到外部第三方网站。一直在寻找代码&在线但无法看到如何做到这一点。
如何更改设计流程以重定向用户?
答案 0 :(得分:53)
作为“正确”答案列出的答案专门指代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
详情请见the wiki。
答案 1 :(得分:28)
添加到应用程序控制器
# 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
以下是您可以使用http://rdoc.info/github/plataformatec/devise/master/Devise/Controllers/Helpers
的设计助手列表我希望帮助=)
答案 2 :(得分:18)
如果您正在使用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。
# config/routes.rb
devise_for :users, :controllers => {:registrations => 'registrations'}