4

登録が失敗した後に登録パスを編集する方法について、ドキュメントを高低で検索してきました。

サイトのインデックス ページに登録フォームがあります。登録に失敗すると、ユーザーがいたルートではなく、new_user_registration_path にリダイレクトされます。これを更新するにはどうすればよいですか?

4

2 に答える 2

1

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

確かに、デバイス登録コントローラーをオーバーライドする必要のない同様のオプションは可能ですか?

于 2013-05-05T23:38:39.417 に答える
0

ここからデバイス登録コントローラーをコピーできます

次のようなものを追加できるはずです。

if resource.save
    #handle this 
else 
    #handle this
    redirect_to new_user_registration_path
end

次に、ルートで:

  devise_for :users, :controllers => {:registrations => 'registrations'}

コントローラーをオーバーライドせずにこれを行う方法がわかりません

于 2012-08-02T16:14:39.037 に答える