I have a sign-up form that has nested associations/attributes whatever you want to call them.
My Hierarchy is this:
class User < ActiveRecord::Bas
Salil's answer was almost right but he never made it 100%. Here is the correct way to do it:
def after_validation
# Skip errors that won't be useful to the end user
filtered_errors = self.errors.reject{ |err| %{ person }.include?(err.first) }
# recollect the field names and retitlize them
# this was I won't be getting 'user.person.first_name' and instead I'll get
# 'First name'
filtered_errors.collect{ |err|
if err[0] =~ /(.+\.)?(.+)$/
err[0] = $2.titleize
end
err
}
# reset the errors collection and repopulate it with the filtered errors.
self.errors.clear
filtered_errors.each { |err| self.errors.add(*err) }
end