我有一个task
模型,通过另一个表(task_group_relationships)有很多groups_belonging_to
:
has_many :task_group_relationships, class_name: "TaskGroupRelationship",
foreign_key: "task_id",
dependent: :destroy
has_many :groups_belonging_to, through: :task_group_relationships, source: :task_group
在任务数组中为每条记录添加关联时,我知道我可以这样做:
tasks.each do |task|
task.groups_belonging_to << task_group
end
但有没有办法一次性添加关联以保存对DB的多次调用?
答案 0 :(得分:0)
我刚用谷歌搜索this post,这非常有帮助。
因此,使用事务包装插入应该会有所帮助。像这样:
ActiveRecord::Base.transaction do
tasks.each do |task|
task.groups_belonging_to << task_group
end
end