我正在使用Rails 2.3並設計來處理用戶註冊/身份驗證。如何在使用Devise時註冊後重定向用戶?
我需要在用戶註冊帳戶後立即將用戶重定向到外部第三方網站。一直在線尋找代碼&,但無法看到如何做到這一點。
如何更改設計流程以重定向用戶?
我正在使用Rails 2.3並設計來處理用戶註冊/身份驗證。如何在使用Devise時註冊後重定向用戶?
我需要在用戶註冊帳戶後立即將用戶重定向到外部第三方網站。一直在線尋找代碼&,但無法看到如何做到這一點。
如何更改設計流程以重定向用戶?
添加到您的應用控制器
# 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
我希望幫助=)
列爲「答案正確「答案特指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上找到。
after_sign_up_path_for的代碼似乎是after_sign_in_path_for的包裝。所以,如果你希望兩者行爲相同,那麼我認爲覆蓋after_sign_in_path_for將覆蓋兩者。 – pduey 2011-08-30 19:26:38
如果您沒有確認,after_sing_in_path將起作用,確認後重定向到根路徑。我有用戶確認,那麼在註冊之後我應該如何實現重定向,在我爲自己完成的登錄功能之後,但我沒有得到註冊的方法。 – 2012-01-10 11:52:12
此外,這必須在您自己的RegistrationsController中完成,而不是在ApplicationController中完成。 – declan 2012-04-23 19:44:45
如果您正在使用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'}
添加這個def after_sign_up_path_for(資源)而不是「非活動」 – ChrisBedoya 2012-05-17 22:04:49
這 – Sucrenoir 2012-04-04 12:23:34
你推翻了'在* _path_for' after_sign_ *,但對於OP的問題,傑森需要覆蓋'after_sign_ * *高達_path_for',作爲佈雷特指出,不與軌道3.2和最後一個色器件工作下面。 – 2014-10-07 21:40:11
已更新的答案。 – 2014-11-19 04:40:40