>>127
少し面倒でも、トランザクションの中で1つ1つsave!するほうが確実だと思うよ。
トランザクションだから同時に保存するという要件も満たしているし。

begin
 ActiveRecord::Base.transaction {
  parent.save!
  person.save!
  children.save!
 }
rescue Exception
end