validates_presence_of in parent ok. but how in children?

i have the problem that my child class fields aren't validated on saving the parent. working with parent and child is fine. if all fields are filled correctly everything is saved as expected. but missing fields in the child arent added to the errors. following short sample shows what i mean:

Model

dweinand wrote:

i have the problem that my child class fields aren't validated on saving the parent. working with parent and child is fine. if all fields are filled correctly everything is saved as expected. but missing fields in the child arent added to the errors. following short sample shows what i mean:

Model ----------------------------------------------------- class Parent < ActiveRecord::Base   has_one :children   validates_presence_of :parent_name

  def init!     self.build_children   end end

class Children < ActiveRecord::Base   belongs_to :parent   validates_presence_of children_name end

controller ------------------------------------------------------ @parent = session[:parent] ||= Parent.new @parent.init! @parent.save

=> the absence of parent_name will be correctly shown @parent.errors but i cant find the absence of children_name. isnt it validated?

if parent_name is set and children name is nullable in DB everything will be saved without validating the children.

You need to add

   validates_associated :children

to your Parent class.

(You'd get this automatically if it was a has_many rather than a has_one.)

yeah. thank you. i found validates_associated :children a little while after posting here. pretty simple if you know it. :wink:

thank you.