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 回答