我正在使用“dup”克隆一个活动记录模型(称为项目)。它有几个协会;一个项目有很多步骤,步骤有很多图像和视频等。
我发现当我克隆一个项目时,它成功地创建了项目相应步骤、图像和视频的克隆。但是,图像和视频仍然具有原始步骤的 step_id,而不是新创建的步骤。有没有一种简单的方法可以将 ID 加入到新创建的记录中?
我正在使用 deep_cloneable gem。
这就是我创建克隆的方式:
# Create remix
def remix
@project = Project.find(params[:id])
@remix_project = @project.dup :include => [:steps, :images, :videos]
@remix_project.remix = @project.id
@remix_project.title = @project.title+" - "+current_user.username+" Remix"
respond_to do |format|
if @remix_project.save
format.html { }
end
end
end