Registering a user through Rails API and returning validation errors -
Registering a user through Rails API and returning validation errors -
i'm trying build controller action create new user in application. want effort create user , if succeeds, homecoming user model , if fails show validation errors. far i've got , running:
# app/controllers/v1/users_controller.rb def create @user = user.create(user_params) end private def user_params params.require(:user).permit(:email, :password) if params[:user] end and i'm using jbuilder in view so:
# app/views/v1/users/create.json.jbuilder if @user.errors json.errors @user.errors else json.user @user end this looks it'd work me, when create new user doesn't have validation errors output rather user got created:
{"errors":{}} how come it's printing out empty errors when user has no validation errors?
in ruby, nil , false evaluate false in if statement. in illustration above, @user.errors activemodel::errors class , hence evaluate true. seek changing code above to:
if @user.errors.present? json.errors @user.errors else json.user @user end ruby-on-rails validation jbuilder
Comments
Post a Comment