2014-12-04 4 views
0

레일 4.1에서 인증을 위해 "has_secure_password"를 구현했습니다. 여기 코드는 다음과 같습니다has_secure_password 비밀번호는 비워 둘 수 없습니다. 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 

/사용자에 POST 요청 우리가 하나를 만들 수를 전송 "암호는 비워 둘 수 없습니다"오류가 발생합니다. 또한 user_params의 내용을 표시하려고 시도했지만 암호와 password_confirmation을 제외한 모든 매개 변수가 있습니다. 아이디어가 있으십니까?

+0

당신은 당신이 보내는 JSON을 표시 할 수 있습니다 ...

{ "user" : {"name":"Dave", "firstname":"Rob", "lastname":"Bert", "password":"superpass", "password_confirmation":"superpass"}} 

는 단순히 beginnning에서 사용자 키를 분실 : 프레임 워크이 기다리고 있었다

{"name":"Dave", "firstname":"Rob", "lastname":"Bert", "password":"superpass", "password_confirmation":"superpass"} 

? { "이름": "데이브" "FIRSTNAME": "롭", "LASTNAME": "버트", "비밀번호": "superpass" "password_confirmation" – Mohamad

+0

우리는이를 보내고있다 "superpass "} – Shellu

+0

양식을 포함 할 수 있습니까? –

답변

0

문제가 발견되어 언젠가 누군가에게 도움이 될 수 있습니다. 우리는이 JSON을 전송했다 :

관련 문제