From 9b80a96bd6ac4655d056256bcd7e83ed096a9cde Mon Sep 17 00:00:00 2001 From: baarkerlounger Date: Thu, 9 Dec 2021 12:43:48 +0000 Subject: [PATCH] Format error messages for Form builder gem --- app/controllers/users_controller.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index e66425a80..b7a89318c 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -11,8 +11,10 @@ class UsersController < ApplicationController flash[:notice] = I18n.t("devise.passwords.updated") if user_params.key?("password") redirect_to user_path(@user) elsif user_params.key?("password") + format_error_messages render :edit_password, status: :unprocessable_entity else + format_error_messages render :edit, status: :unprocessable_entity end end @@ -43,6 +45,18 @@ class UsersController < ApplicationController private + def format_error_messages + errors = @user.errors.to_h + @user.errors.clear + errors.each do |attribute, message| + @user.errors.add attribute.to_sym, format_error_message(attribute, message) + end + end + + def format_error_message(attribute, message) + [attribute.to_s.humanize.capitalize, message].join(" ") + end + def password_params { password: SecureRandom.hex(8) } end