我有一個Rails應用程序,它使用Devise進行用戶註冊/驗證。註冊表單和登錄表單都是我的域名的根源。註冊失敗時,如何將用戶重定向到特定頁面?
當用戶註冊失敗時(例如因爲他們輸入了已經佔用的電子郵件地址),默認情況下,Devise重定向到/users
。
我該如何改變這種情況?我希望用戶被定向到/
我有一個失敗的登錄嘗試成功實施了這一點,用下面的代碼:
class CustomFailure < Devise::FailureApp
def redirect_url
"/"
end
def respond
if http_auth?
http_auth
else
redirect
end
end
end
和:
config.warden do |manager|
manager.failure_app = CustomFailure
end
至於詳細on the project's homepage。
有什麼方法可以擴展/改變這個,以便失敗的註冊也可以重定向到我的域的根目錄?
我使用Ruby 2.2.0,Rails 4.2.0和Devise 3.4.1。
感謝您的幫助。這樣可行。但是,如果我'redirect_to root_url',那麼我將失去表單將顯示的任何錯誤消息。任何想法如何解決這個問題?登記表正在主頁上部分顯示。 –
如何向重定向添加錯誤?我的意思是'redirect_to root_url,錯誤:'註冊失敗'.'那是你想要添加的嗎?或者你的意思是錯誤,如「電子郵件是不正確的」? – ZuzannaSt
嗨更新我的答案通過添加創建操作... @JackZelig ...使用它,讓我知道 – Milind