加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何检查Rails中的当前密码(Devise gem)?

发布时间:2020-12-17 03:54:26 所属栏目:百科 来源:网络整理
导读:我没有使用jQuery验证检查当前密码.我正在使用Devise gem和jQuery验证.萤火虫说: 问题出在我的控制器中: def checkpass user = User.find_by_email(params[:user][:email]) respond_to do |format| if user user.authenticate(params[:user][:password]) f
我没有使用jQuery验证检查当前密码.我正在使用Devise gem和jQuery验证.萤火虫说:

问题出在我的控制器中:

def checkpass
 user = User.find_by_email(params[:user][:email])
 respond_to do |format|
 if user && user.authenticate(params[:user][:password])
    format.json { render :json => @user }
 end

结束

使用此代码,Firebug给了我错误

406 Not Acceptable

end

checkemail唯一性动作的例子:

def checkemail
  @user = User.find_by_email(params[:user][:email])
   respond_to do |format|
   format.json { render :json => !@user }
  end
end

我的js:

$("#edit_password").validate({
   "user[current_password]":{
            required: true,minlength: 6,remote: {
          url: "http://127.0.0.1:3000/checkpass"
          }
 ...
 })

和HTML:

<input type="password" size="30" name="user[current_password]" id="user_current_password" class="valid">

有人可以建议怎么做吗?

解决方法

在函数check_pass中的控制器中

user = User.find_by_email(params[:user][:email])
  respond_to do |format|
     if user && user.authenticate(params[:user][:password])
        format.json { render :json => @user }
     end
  end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读