2016-07-24 5 views
-2
def create 
user_password = params[:session][:password] 
user_email = params[:session][:email] 
user = user_email.present? && User.find_by(email: user_email) 

if user and user.valid_password? user_password 
    sign_in user 
    user.generate_authentication_token! 
    user.save 
    render json: user, status: 200, location: [:api, user] 

else 
    #render json: { errors: "Invalid email or passwords"}, status: 422 
    render json: { errors: "Invalid email or passwords"}, status: 422 

end 

エンドuser.valid_passwordは、ユーザーの後にログインできない

を動作しないで署名した、それはvalid_passwordですか?メソッドは、暗号化されたパスワードと同じ形式でパスワードを暗号化しないでください。

答えて

2

セッションを作成するためのコードです。ユーザーを適切に作成しているかどうかを確認してください。

これがtrueを返した場合、あなたが適切にユーザーを作成していない、あなたのレールにコンソール

User.create({email:"[email protected]",password:"anything"}) 
User.find(type the id of new user).valid_password?("anything") 

これを行います。ユーザーの作成方法を確認します。

+0

ありがとうございました:) –

関連する問題