让Devise在注册控制器中引发ActiveRecord异常

时间:2015-02-27 02:59:04

标签: ruby-on-rails ruby devise

我正在尝试实现设计注册控制器以接受AJAX登录,而最少使用覆盖它。目前它看起来像这样:

class RegistrationsController < Devise::RegistrationsController
  clear_respond_to
  respond_to :json
  before_filter :configure_permitted_parameters

  protected

  def update_resource(resource, params)
    resource.update_without_password(params)
  end

  def configure_permitted_parameters
    devise_parameter_sanitizer.for(:sign_up).push(:name, :location)
    devise_parameter_sanitizer.for(:account_update).push(:name, :location, :soundcloud, :youtube, :twitter, :bandcamp)
  end

end

问题是,在Devise的注册控制器中,调用创建/更新方法时没有!(例如只是resource.save

这并不理想,因为重复名称,电子邮件地址等验证错误未被捕获,而是我得到了无用的422 Unprocessable Entity错误。

他们的配置选项或其他简单的方法来设计引发错误而不必覆盖整个控制器吗?

0 个答案:

没有答案