首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设计,空白password_confirmation

设计,空白password_confirmation
EN

Stack Overflow用户
提问于 2014-01-05 19:27:40
回答 1查看 168关注 0票数 0

需要做ajax侧注册与设计。创建RegistrationsController:

代码语言:javascript
复制
class RegistrationsController < Devise::RegistrationsController

  def create 
    if request.xhr?
      build_resource(sign_up_params)

      if resource.save
        ...
      end
    else
      super
    end
  end

end

注意,如果我没有在XHR中传递该字段,或者字段是空的,那么该模型不会验证密码的确认,并且在执行$http.post之前,角不会收集它。

黑客攻击了它一段时间的角度,硬编码的初始$scope.reg = {'password_confirmation': ''},但不知道我如何解决这一正常的方式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-05 20:21:20

一旦您正确地设置了Devise,您的模型的密码确认不太可能被验证。如果注册实际上创建了一个新用户,那么您将确定是否没有运行验证。如果它没有创建一个新用户,那么验证就能正常工作。

问题似乎在于您的create操作。看起来您的if resource.save没有一个else块,这就是当resource.save由于验证错误而失败时所调用的。您的create操作应该如下所示:

代码语言:javascript
复制
  def create
    # seems unnecessary to check if request is xhr
    build_resource(sign_up_params)
    if resource.save
      render json: resource
    else
      render :json => { :errors => @model.errors.full_messages }, :status => 422
    end
  end

然后,只要有角度的代码,通过通知用户来处理错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20938071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档