当我张贴
session
对于rails/device,我要么得到响应,
user
或者我收到一条平淡的错误消息。如何根据创建会话时出现的问题发回自定义消息?
当前代码:
class V1::SessionsController < ApiBaseController
skip_before_action :verify_authenticity_token
def create
email = params[:user] && params[:user][:email]
username = params[:user] && params[:user][:username]
@user = User.where(email: email).first if email
@user = User.where(username: username).first if username
if @user&.valid_password?(params[:user] && params[:user][:password])
@user.update_user_login_timestamp
respond_to do |format|
format.json { render '/users/show', status: :ok }
end
else
render json: {success: false, message: "no good"}, status: 500
end
end
private
def user_params
params.require(:user).permit(:email, :password, :username)
end
end
我想做的是:
if username_found_but_password_doesnt_match
render json: {error: "bad password"} status: 500
elsif username_not_found
render json: {error: "doesnt exist"} status: 500
end