ruby-on-rails – Rails 3和Devise:重定向到註冊頁面(可確認)
我有一個Rise 3專案與Devise,確認啟用,所以使用者必須通過電子郵件確認他們的帳戶註冊後.目前,該專案將使用者返回到登入頁面,併發出“您已經註冊成功”通知.我想要做的是將其重定向到“謝謝”頁面,並附上進一步的說明(檢查您的電子郵件,垃圾郵件資料夾,blah blah).
我的第一站是Devise wiki,我在那裡ofollow,noindex" target="_blank">found this page .看起來很容易,我進行了以下更改,並按照方向完全符合…
/app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController protected def after_sign_up_path_for(resource) "http://google.com" end end
/config/routes.rb
devise_for :users, :controllers => { :registrations => "registrations" }
將“註冊”資料夾從/ app / views / devise檢視資料夾中移動到頂部/ app / views資料夾中的一個修改,因為返回的錯誤現在丟失了檢視.無論如何,儘管控制器覆蓋似乎正常工作(我不認為檢視本來不會被打破),這些方向不起作用…頁面忽略after_sign_up並在註冊後返回到登入頁面.
在網際網路上狩獵包括其他Stack Overflow執行緒,但沒有找到我為我工作…或者回答困惑重定向註冊登入,或者他們實際上正在改變登入後的重定向(正如Devise正常註冊後自動登入,無需啟用確認).
我試過的其他事情
將after_sign_up_path_for(資源)移動到應用程式控制器中.不行奇怪的是,使用after_sign_in_path_for(資源)執行相同操作,並以使用者身份重新登入.
將registrationmentscontrol.rb從/ app / controllers / into / app / controllers / users資料夾移動,並相應地更新所有路由/引用/ etc.不去
>將Devise的registrations_controller.rb複製到我自己的registrations_controller.rb中.沒有工作,只是提出一個錯誤,我把它全部回來了.
>我試過def after_inactive_sign_up_path_for(資源),因為我認為也許這個帳戶沒有活躍的事實是罪魁禍首.這也被忽略.
>還有一點值得一提的是,在這些重大變化之後,我已經嘗試重新啟動我的專案,但沒有任何效果.
有沒有人有成功拉這個關閉確認啟用?
,所以你可能需要最新版本的repo,這仍然是一個候選人(儘管它應該很快,因為他們正在等待omniauth 0.2離開測試版,最近發生).
我正在使用Devise 1.2.rc2從github repo與rails 3.0.5.我添加了您提到的程式碼到我的自定義註冊控制器,並在建立新帳戶之後轉發到谷歌.
我的註冊控制器的一個截止版本(在app / controllers / users中)
class Users::RegistrationsController < Devise::RegistrationsController protected def after_sign_up_path_for(resource) "http://google.com" end end
我的路線
devise_for :users, :controllers => { :registrations => "users/registrations" }
從我的寶石
gem 'devise', :git => "git://github.com/plataformatec/devise.git"
如果您在最新版本的設計中遇到問題,請告訴我們.
http://stackoverflow.com/questions/5463012/rails-3-and-devise-redirecting-to-page-following-signup-confirmable