That’s a good question. As far as I can tell, there is no Rails way to
do this as of Rails 2.0.2. I spent some time reviewing how
error_messages_for works and then came up with this solution. I would love to know if 2.1 addresses the problem, or if we’re really looking at a documentation problem.
I use the Human Attribute Override plugin (http://
agilewebdevelopment.com/plugins/human_attribute_override) with Rails
2.0 which essentially does the same thing as your earlier example.
Just committed this month is a patch (http://rails.lighthouseapp.com/
projects/8994/tickets/535-humanize-inflections) that allows you to
specify particular results for the humanize string method. I think
it's a flawed approach because it is not unreasonable to have the same
attribute name on different models but to want different display names
and I as far as I can see it will not allow that.