在Devise注册控制器(Rails)中覆盖错误重定向

时间:2017-03-25 14:36:05

标签: ruby-on-rails ruby ruby-on-rails-3 redirect devise

要在我的注册流程中添加一些自定义逻辑,我已经覆盖默认的Devise注册控制器,如下所示:

class RegistrationsController < Devise::RegistrationsController
  def new
    super
  end
end

# app/config/routes.rb
devise_for :users, :controllers => {:registrations => "registrations"}

以上工作正常。 现在,我正在尝试创建不同的注册视图(可能会路由为/corporate/sign_up/personal/sign_up,其表单都会提交给我的注册控制器。

但是,通过在注册控制器内调用super,如果存在任何验证错误(例如已经采取的电子邮件),则会将重定向设计为/users,这会加载我的原始注册视图。如何调整此系统以重定向到自定义注册页面,该页面启动了对我的注册控制器的调用?

我能找到的唯一解决方案是在这里复制所有设计注册控制器逻辑,只返回错误而不是重定向。

对此有什么更好的解决方案?

0 个答案:

没有答案