Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails Dup:重新映射关联_Ruby On Rails_Dup - Fatal编程技术网

Ruby on rails Rails Dup:重新映射关联

Ruby on rails Rails Dup:重新映射关联,ruby-on-rails,dup,Ruby On Rails,Dup,我正在使用“dup”克隆活动记录模型(称为项目)。它有几个协会;一个项目有很多步骤,步骤有很多图像和视频等 我发现,当我克隆一个项目时,它成功地创建了项目相应步骤、图像和视频的克隆。但是,图像和视频仍然具有原始步骤的步骤ID,而不是新创建的步骤ID。有没有一种简单的方法可以将ID添加到新创建的记录中 我用的是深蓝宝石 以下是我创建克隆的方式: # Create remix def remix @project = Project.find(params[:id]) @re

我正在使用“dup”克隆活动记录模型(称为项目)。它有几个协会;一个项目有很多步骤,步骤有很多图像和视频等

我发现,当我克隆一个项目时,它成功地创建了项目相应步骤、图像和视频的克隆。但是,图像和视频仍然具有原始步骤的步骤ID,而不是新创建的步骤ID。有没有一种简单的方法可以将ID添加到新创建的记录中

我用的是深蓝宝石

以下是我创建克隆的方式:

  # 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

处理嵌套属性时,需要按如下方式更改格式:

@remix_project = @project.dup :include => {:steps => [:images, :videos]}

它不复制创建的值,如何复制?