我正在尝试实现设计注册控制器以接受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错误。
他们的配置选项或其他简单的方法来设计引发错误而不必覆盖整个控制器吗?