validation on a has_many relationship

Again error

undefined method `errors' for #<Class:0xb67d8848>

undefined local variable or method `contacts' for

The only think I can think of is that you have a model variable named
@request, which is also, by default, the name of the HTTP request
object. There may be some weird overwriting going on.

Rename your model. It will save you huge headaches in the long run,
not least when trying to ask for help, since people will always assume
that @request refers to the HTTP request.