mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-05 22:26:07 +00:00
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:
22
config/initializers/custom_errors.rb
Normal file
22
config/initializers/custom_errors.rb
Normal 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
|
||||
Reference in New Issue
Block a user