Guardar múltiples objetos en una sola llamada en rieles

Tengo un método en rails que está haciendo algo como esto:

a = Foo.new("bar")
a.save

b = Foo.new("baz")
b.save

...
x = Foo.new("123", :parent_id => a.id)
x.save

...
z = Foo.new("zxy", :parent_id => b.id)
z.save

El problema es que esto lleva más tiempo cuanto más entidades agrego. Sospecho que esto se debe a que debe golpear la base de datos para cada registro. Como están anidados, sé que no puedo salvar a los niños antes de que se salven los padres, pero me gustaría salvar a todos los padres a la vez, y luego a todos los niños. Sería bueno hacer algo como:

a = Foo.new("bar")
b = Foo.new("baz")
...
saveall(a,b,...)

x = Foo.new("123", :parent_id => a.id)
...
z = Foo.new("zxy", :parent_id => b.id)
saveall(x,...,z)

Eso lo haría todo en solo dos aciertos en la base de datos. ¿Hay una manera fácil de hacer esto en rieles, o estoy atascado haciéndolo uno a la vez?

Respuestas a la pregunta(5)

Su respuesta a la pregunta