6
在Rails的一次调用中保存多个对象
我在Rails中有一种方法正在执行以下操作: 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) 只需两个数据库命中就可以完成所有操作。有没有一种简便的方法可以在Rails中执行此操作,或者我一次只能执行一次?