Replace customisations with explicit patch in an initializer

See previous commit.

This isn't nice, but it does the same job as the gem did. We can also update this code now as Rails changes (the gem was incompatible with Rails 7).
This commit is contained in:
Matt-Yorkley
2021-12-28 00:23:47 +00:00
parent f07bc042b5
commit f5ebd47751

View File

@@ -0,0 +1,22 @@
# This patch customises ActiveModel error messages, as previously handled by the custom_error_messages gem
# See: https://github.com/jeremydurham/custom-err-msg
module ActiveModel
class Error
def self.full_message(attribute, message, base)
return message if attribute == :base
attr_name = attribute.to_s.tr(".", "_").humanize
attr_name = base.class.human_attribute_name(attribute, {
default: attr_name,
base: base,
})
if message.start_with?("^")
I18n.t("errors.format.full_message", default: "%{message}", message: message[1..-1], attribute: attr_name)
else
I18n.t("errors.format", default: "%{attribute} %{message}", message: message, attribute: attr_name)
end
end
end
end