다음과 같은 작업을 수행하는 레일에 메서드가 있습니다.
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)
그것은 단지 두 개의 데이터베이스 적중에서 모든 것을 할 것입니다. 레일에서이 작업을 쉽게 수행 할 수있는 방법이 있습니까? 아니면 한 번에 하나씩 수행해야합니까?