Module ActionView::Helpers::ActiveRecordHelper
In: brtraducao/lib/brtraducao/action_view_portuguese.rb

Methods

Public Instance methods

Traduz as mensagens de erro do ActiveRecord

[Source]

    # File brtraducao/lib/brtraducao/action_view_portuguese.rb, line 3
 3:   def error_messages_for(*params)
 4:     options = params.last.is_a?(Hash) ? params.pop.symbolize_keys : {}
 5:     objects = params.collect { |object_name| instance_variable_get('@'+object_name.to_s()) }
 6:     objects.compact!
 7:     count   = objects.inject(0) {|sum, object| sum + object.errors.count }
 8:     unless count.zero?
 9:       html = {}
10:       [:id, :class].each do |key|
11:         if options.include?(key)
12:           value = options[key]
13:           html[key] = value unless value.blank?
14:         else
15:           html[key] = 'errorExplanation'
16:         end
17:       end
18:       header_message = "#{pluralize(count, 'erro')} para #{(options[:object_name] || params.first).to_s.gsub('_', ' ')}"
19:       error_messages = objects.map { |object| object.errors.full_messages.map {|msg| content_tag(:li, msg) } }
20:       content_tag(:div,
21:         content_tag(options[:header_tag] || :h2, header_message) <<
22:           content_tag(:p, 'Foram detectados os seguintes erros:') <<
23:           content_tag(:ul, error_messages),
24:         html
25:       )
26:     else
27:       ''
28:     end
29:   end

[Validate]