使用Devise时如何在注册后重定向用户?

时间:2010-08-29 01:30:39

标签: ruby-on-rails ruby devise

我正在使用Rails 2.3和Devise来处理用户注册/身份验证。

我需要在用户注册帐户后立即将用户重定向到外部第三方网站。一直在寻找代码&在线但无法看到如何做到这一点。

如何更改设计流程以重定向用户?

3 个答案:

答案 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'}