相关疑难解决方法(0)

复制activerecord记录的最简单方法是什么?

我想制作一个activerecord记录的副本,更改进程中的单个字段(除了id).实现这一目标的最简单方法是什么?

我意识到我可以创建一个新记录,然后遍历每个字段逐个复制数据 - 但我认为必须有一个更简单的方法来做到这一点......

如:

 @newrecord=Record.copy(:id)  *perhaps?*
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails rails-activerecord

402
推荐指数
7
解决办法
17万
查看次数

克隆(又名重复)一个记录

我需要复制一条记录,除了cource的ID之外,还有原始的相同属性.我做:

在视图中:

<%= link_to "Duplicate", :action => "clone", :id => Some_Existing_ID %>
Run Code Online (Sandbox Code Playgroud)

在控制器中:

def clone
  @item = Item.find(params[:id]).clone

  if @item.save
    flash[:notice] = 'Item was successfully cloned.'
  else
    flash[:notice] = 'ERROR: Item can\'t be cloned.'
  end

  redirect_to(items_path)
end      
Run Code Online (Sandbox Code Playgroud)

但没有任何反应!在控制台中我发现克隆生成没有ID的副本.

有任何想法吗 ?

*> BTW:我正在运行Rails 2.3.5和Ruby 1.8

ruby-on-rails

5
推荐指数
2
解决办法
6679
查看次数

在Rails中重复记录并使用其关联填充新表单

我需要在Rails中复制一条记录,然后在创建记录之前将它渲染成一个新的形式.

一切都按照这个有用的答案工作,但我需要用has_many_belongs_to_many关联填充记录

方法dup()让我复制记录中的所有东西但它的关联,我也看到有一个宝石Amoeba可以做一个非常多才多艺的深度克隆,但我想知道是否有一个更简单的解决方案,而不使用宝石

clone ruby-on-rails associations rails-activerecord

2
推荐指数
1
解决办法
2965
查看次数