У меня есть метод в рельсах, который делает что-то вроде этого:
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
Проблема в том, что чем больше я добавляю сущностей, тем дольше это занимает. Я подозреваю, что это потому, что он должен попадать в базу данных для каждой записи. Поскольку они вложены друг в друга, я знаю, что не могу спасти детей до того, как будут спасены родители, но я хотел бы спасти всех родителей сразу, а затем всех детей. Было бы неплохо сделать что-нибудь вроде:
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)
Это сделает все за два обращения к базе данных. Есть ли простой способ сделать это в рельсах, или я застрял, делая это по одному?