Rails: Getting rid of generic "X is invalid" validation errors
        Posted  
        
            by DJTripleThreat
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by DJTripleThreat
        
        
        
        Published on 2010-06-01T05:00:37Z
        Indexed on 
            2010/06/01
            5:43 UTC
        
        
        Read the original article
        Hit count: 321
        
I have a sign-up form that has nested associations/attributes whatever you want to call them.
My Hierarchy is this:
class User < ActiveRecord::Base
  acts_as_authentic
  belongs_to :user_role, :polymorphic => true
end
class Customer < ActiveRecord::Base
  has_one :user, :as => :user_role, :dependent => :destroy
  accepts_nested_attributes_for :user, :allow_destroy => true
  validates_associated :user
end
class Employee < ActiveRecord::Base
  has_one :user, :as => :user_role, :dependent => :destroy
  accepts_nested_attributes_for :user, :allow_destroy => true
  validates_associated :user
end
I have some validation stuff in these classes as well. My problem is that if I try to create and Customer (or Employee etc) with a blank form I get all of the validation errors I should get plus some Generic ones like "User is invalid" and "Customer is invalid" If I iterate through the errors I get something like:
user.login can't be blank
User is invalid
customer.whatever is blah blah blah...etc
customer.some_other_error etc etc
Since there is at least one invalid field in the nested User model, an extra "X is invalid" message is added to the list of errors. This gets confusing to my client and so I'm wondering if there is a quick way to do this instead of having to filer through the errors myself.
© Stack Overflow or respective owner