class User < ActiveRecord::Base has_one :profile , :dependent => :destroy end class Profile < ActiveRecord::Base belongs_to :user validates_presence_of :first_name, :last_name end
And you create the profile in the same view as your user.
How do you validate those first_name and last_name fields
with a friendly message for your user?
Well, you could use
validates_associated, but you would end up with a message like "Profile is
invalid". Now, how friendly is that?
To obtain a more precise message, use this on you user.rb
def validate if self.profile self.profile.errors.each do |error| self.errors.add_to_base error.join(' ') end end end