Class: ActiveRecord::Errors
- Inherits:
-
Object
- Object
- ActiveRecord::Errors
- Defined in:
- lib/russian/active_record_ext/custom_error_message.rb
Instance Method Summary collapse
-
#full_messages ⇒ Object
DEPRECATED as of Rails 2.3.4.
Instance Method Details
#full_messages ⇒ Object
DEPRECATED as of Rails 2.3.4
The following is taken from custom_error_message plugin by David Easley (rubyforge.org/projects/custom-err-msg/)
Redefine the ActiveRecord::Errors::full_messages method:
Returns all the full error messages in an array. 'Base' messages are handled as usual.
Non-base messages are prefixed with the attribute name as usual UNLESS they begin with '^'
in which case the attribute name is omitted.
E.g. validates_acceptance_of :accepted_terms, :message => '^Please accept the terms of service'
Переопределяет метод ActiveRecord::Errors::full_messages. Сообщения об ошибках для атрибутов теперь не имеют префикса с названием атрибута если в сообщении об ошибке первым символом указан “^”.
Так, например,
validates_acceptance_of :accepted_terms, :message => 'нужно принять соглашение'
даст сообщение
Accepted terms нужно принять соглашение
однако,
validates_acceptance_of :accepted_terms, :message => '^Нужно принять соглашение'
даст сообщение
Нужно принять соглашение
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
# File 'lib/russian/active_record_ext/custom_error_message.rb', line 142 def = [] @errors.each_key do |attr| @errors[attr].each do |msg| next if msg.nil? if attr == "base" << msg elsif msg =~ /^\^/ << msg[1..-1] else << @base.class.human_attribute_name(attr) + " " + msg end end end return end |