Merge pull request #30308 from DNNX/rm-pointless-flatten-and-compact-from-am-errors
Simplify ActiveModel::Errors#generate_message
This commit is contained in:
commit
99c604f1f9
@ -398,21 +398,19 @@ def generate_message(attribute, type = :invalid, options = {})
|
||||
type = options.delete(:message) if options[:message].is_a?(Symbol)
|
||||
|
||||
if @base.class.respond_to?(:i18n_scope)
|
||||
defaults = @base.class.lookup_ancestors.map do |klass|
|
||||
[ :"#{@base.class.i18n_scope}.errors.models.#{klass.model_name.i18n_key}.attributes.#{attribute}.#{type}",
|
||||
:"#{@base.class.i18n_scope}.errors.models.#{klass.model_name.i18n_key}.#{type}" ]
|
||||
i18n_scope = @base.class.i18n_scope.to_s
|
||||
defaults = @base.class.lookup_ancestors.flat_map do |klass|
|
||||
[ :"#{i18n_scope}.errors.models.#{klass.model_name.i18n_key}.attributes.#{attribute}.#{type}",
|
||||
:"#{i18n_scope}.errors.models.#{klass.model_name.i18n_key}.#{type}" ]
|
||||
end
|
||||
defaults << :"#{i18n_scope}.errors.messages.#{type}"
|
||||
else
|
||||
defaults = []
|
||||
end
|
||||
|
||||
defaults << :"#{@base.class.i18n_scope}.errors.messages.#{type}" if @base.class.respond_to?(:i18n_scope)
|
||||
defaults << :"errors.attributes.#{attribute}.#{type}"
|
||||
defaults << :"errors.messages.#{type}"
|
||||
|
||||
defaults.compact!
|
||||
defaults.flatten!
|
||||
|
||||
key = defaults.shift
|
||||
defaults = options.delete(:message) if options[:message]
|
||||
value = (attribute != :base ? @base.send(:read_attribute_for_validation, attribute) : nil)
|
||||
|
Loading…
Reference in New Issue
Block a user