登録が失敗した後に登録パスを編集する方法について、ドキュメントを高低で検索してきました。
サイトのインデックス ページに登録フォームがあります。登録に失敗すると、ユーザーがいたルートではなく、new_user_registration_path にリダイレクトされます。これを更新するにはどうすればよいですか?
登録が失敗した後に登録パスを編集する方法について、ドキュメントを高低で検索してきました。
サイトのインデックス ページに登録フォームがあります。登録に失敗すると、ユーザーがいたルートではなく、new_user_registration_path にリダイレクトされます。これを更新するにはどうすればよいですか?
customfailure アプリを使用して、サインアップ フォームでこれを実現できました。
class CustomFailure < Devise::FailureApp
def redirect_url
if warden_options[:scope] == :user
new_user_registration_path
else
new_user_registration_path
end
end
def respond
if http_auth?
http_auth
else
redirect
end
end
def redirect
store_location!
flash[:alert] = i18n_message unless flash[:notice]
redirect_to '/'
end
end
確かに、デバイス登録コントローラーをオーバーライドする必要のない同様のオプションは可能ですか?
ここからデバイス登録コントローラーをコピーできます
次のようなものを追加できるはずです。
if resource.save
#handle this
else
#handle this
redirect_to new_user_registration_path
end
次に、ルートで:
devise_for :users, :controllers => {:registrations => 'registrations'}
コントローラーをオーバーライドせずにこれを行う方法がわかりません