如何在rails(V4.2.3)中创建批量记录

How to create bulk records in rails(V4.2.3)

我尝试一次创建多个记录,但出现错误。

示例:

  Job.find(5601).job_permissions.insert_all(recruiter_id: recruiter.id, job_access_action_id: job_access_action_id.id)

  Job.find(5601).job_permissions.bulk_insert(recruiter_id: recruiter.id, 
  job_access_action_id: job_access_action_id.id)

错误: NoMethodError:JobPermission Load (0.3ms) SELECT job_permissions.* FROM job_permissions WHERE job_permissions.job_id = 5601 #JobPermission::ActiveRecord_Associations_CollectionProxy:0x0055c4da1ceea0

的未定义方法“insert_all”

您需要在 ActiveRecord class 上调用 insert_all,而不是像现在这样 association_proxy,因此:

Job.insert_all([{recruiter_id: ..., {recruiter_id: ...}])

create方法也接受一个数组作为参数。

JobPermission.create(
  [
    { job_id: job.id, recruiter_id: recruiter.id, job_access_action_id: job_access_action_id.id },
    ...
  ]
)