【发布时间】:2018-03-01 03:37:44
【问题描述】:
在我的 rails 应用程序中,我有一个模型说“服务器”,它有很多“虚拟机”。当一个服务器记录配置为有 50 个虚拟机时,我想立即创建 50 个 VirtualMachine 的空记录。 1) id: 1, start_time: nil, space: nil 2) id: 2, start_time: nil, space: nil 3) id: 3, start_time: nil, space: nil 4) id: 4, start_time: nil, space: nil ... 50) id: 50, start_time: nil, space: nil
我知道这可以通过 for 循环和创建/新建来实现。但是有没有一种 ActiveRecord 方法可以在没有循环的情况下执行此操作,从而减少从我的应用程序对数据库的调用次数?
谢谢, 格雷格
【问题讨论】:
-
作为后台作业使用块:
n.times { Model.create! } -
@Emu 即便不占用网络服务器,也依然非常无效。
标签: sql ruby-on-rails activerecord