Mam metodę w railsach, która robi coś takiego:
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
Problem polega na tym, że im więcej jednostek dodam, trwa to dłużej i dłużej. Podejrzewam, że dzieje się tak, ponieważ musi trafiać do bazy danych dla każdego rekordu. Ponieważ są zagnieżdżone, wiem, że nie mogę uratować dzieci, zanim rodzice zostaną uratowani, ale chciałbym uratować wszystkich rodziców naraz, a potem wszystkie dzieci. Byłoby miło zrobić coś takiego:
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)
To wystarczyłoby tylko na dwa trafienia w bazie danych. Czy jest łatwy sposób na zrobienie tego w szynach, czy też utknąłem, robiąc to pojedynczo?