ฉันมีวิธีในรางที่ทำสิ่งนี้:
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)
ซึ่งจะทำได้ทั้งหมดในฐานข้อมูลสอง Hit เท่านั้น มีวิธีง่ายๆในการทำสิ่งนี้ในรางหรือฉันติดอยู่ที่ทำทีละครั้ง?