我们实施了" has_secure_password"用于在rails 4.1中进行身份验证这是代码:
# == Schema Information
#
# Table name: users
#
# id :integer not null, primary key
# name :string(255)
# firstname :string(255)
# created_at :datetime
# updated_at :datetime
# password_digest :string(255)
# lastname :string(255)
#
(user.rb)
class User < ActiveRecord::Base
has_secure_password
end
(user_controllers.rb)
class UsersController < ApplicationController
def create
u = User.new(user_params)
if u.save
render json: u, status: 200 #, location: u
else
render json: {errors: u.errors.messages}, status: 422
end
end
private
def user_params
params.require(:user).permit(:name, :firstname, :lastname, :password, :password_confirmation)
end
end
向/ users发送帖子请求以创建一个,我们得到的密码不能为空白&#34;错误。 另外,我们试图显示user_params的内容,除密码和password_confirmation外,所有的params都在那里。 有什么想法吗?
答案 0 :(得分:0)
我们发现了这个问题,有一天它可能对某人有所帮助。 我们发送了这个Json:
{"name":"Dave", "firstname":"Rob", "lastname":"Bert", "password":"superpass", "password_confirmation":"superpass"}
该框架期待这一点:
{ "user" : {"name":"Dave", "firstname":"Rob", "lastname":"Bert", "password":"superpass", "password_confirmation":"superpass"}}
在开始时忘记用户密钥......