我調用after_sign_up_path_for(資源)時,通過在繼承registrations_controller定義它after_sign_up_path:如果我不定製路線色器件不會重定向使用自定義色器件路線
class RegistrationsController < Devise::RegistrationsController
protected
def after_sign_up_path_for(resource)
new_user_profile_path(resource)
end
end
此重定向工作正常。但是,當我這樣做時,它不再有效。我的路線文件有:
devise_for :users, skip: [:sessions], controllers: { registrations: "registrations" }
devise_scope :user do
get 'signin' => 'devise/sessions#new', as: :new_user_session
post 'signin' => 'devise/sessions#create', as: :user_session
delete 'signout' => 'devise/sessions#destroy', as: :destroy_user_session
get 'signup' => 'devise/registrations#new', as: :new_user_registration
post 'signup' => 'devise/registrations#create', as: :user_registration
root to: 'pages#home'
end
具體來說,交 '註冊'=> '設計/註冊#創建',因爲:user_registration線弄亂的東西了。如果那不在那裏,它可以正常工作。但是,如果不存在,那麼當註冊由於驗證錯誤而失敗時,URL將默認爲/ users而不是/ signup,這是一種不希望的行爲。
任何人都知道這是我做錯了什麼,或者如果有設計錯誤?
現在很明顯,我看到它,它讓我感到很蠢。感謝何塞爲您的時間和精力... – kindofgreat