diff --git a/app/controllers/epp/base_controller.rb b/app/controllers/epp/base_controller.rb index 820fe9098..db28d5685 100644 --- a/app/controllers/epp/base_controller.rb +++ b/app/controllers/epp/base_controller.rb @@ -102,7 +102,7 @@ module Epp if obj obj.construct_epp_errors - @errors += obj.errors[:epp_errors] + @errors += obj.errors.where[:epp_errors].flatten end if params[:parsed_frame]&.at_css('update') diff --git a/app/models/concerns/epp_errors.rb b/app/models/concerns/epp_errors.rb index 6d8ca999a..f1a3b7ede 100644 --- a/app/models/concerns/epp_errors.rb +++ b/app/models/concerns/epp_errors.rb @@ -6,8 +6,8 @@ module EppErrors def construct_epp_errors epp_errors = [] - errors.messages.each do |attr, errors| - attr = attr.to_s.split('.')[0].to_sym + errors.each do |error| + attr = error.attribute.to_s.split('.')[0].to_sym next if attr == :epp_errors if self.class.reflect_on_association(attr) @@ -20,9 +20,9 @@ module EppErrors next end - epp_errors << collect_parent_errors(attr, errors) + epp_errors << collect_parent_errors(attr, error.message) end - errors.add(:epp_errors, epp_errors) unless epp_errors.empty? + errors.add(:epp_errors, epp_errors.flatten) unless epp_errors.empty? end def collect_parent_errors(attr, errors)