Class: ActiveModel::Errors

Inherits:
Object
  • Object
show all
Defined in:
lib/rails/extensions/active_model.rb

Instance Method Summary collapse

Instance Method Details

#full_messagesObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/rails/extensions/active_model.rb', line 3

def full_messages
  full_messages = []

  each do |attribute, messages|
    messages = Array.wrap(messages)
    next if messages.empty?

    if attribute == :base
      messages.each {|m| full_messages << m }
    else          
      attr_name = attribute.to_s.gsub('.', '_').humanize
      attr_name = @base.class.human_attribute_name(attribute, :default => attr_name)
      options = { :default => "%{attribute} %{message}", :attribute => attr_name }

      
      messages.each do |m|
        if m =~ /^\^/
          full_messages << I18n.t(:"errors.format.full_message", options.merge(:message => m[1..-1], :default => "%{message}"))
        else        
          full_messages << I18n.t(:"errors.format", options.merge(:message => m))
        end
      end
    end
  end

  full_messages
end