1
A
回答
3
这个过程被称为克隆一个对象和它的复杂性取决于你想克隆什么样的信息。
如果你只是想克隆一个对象的字段,你会做这样的事情:
old_object = A.find(old_object_id)
new_object = B.new
new_object.field_one = old_object.field_one
new_object.field_two = old_object.field_two
new_object.save!
但是,如果你也想复制老对象的协会,你需要做的用手。
地说论据A
有has_many
协会B
对象叫bees
的缘故,并呼吁sees
B
has_many
C
对象,这有可能会稍微复杂一些:
old_object.bees.each do |bee|
new_bee = bee.clone
new_bee.sees.each do |see|
new_see = see.clone
new_see.save!
end
new_object.bees.push(new_bee)
end
new_object.save!
相关问题
- 1. 创建形式为在导轨
- 2. 使用没有导轨的回形针
- 3. 提交使用形式的link_to在轨
- 4. 如何在轨道上的红宝石创建向导形式
- 5. 如何使用c创建没有图形的用户控件#
- 6. 创建使用iTextSharp的带窗形式
- 7. 如何使用自创建形式
- 8. tag_list在形式上没有显示出来(导轨)
- 9. “无法创建形式。没有MDI形式是当前活动的”错误
- 10. 如何创建一个使用GET的复选框的导轨形式?
- 11. 使用一种形式的轨道STI
- 12. 如何在导轨形式
- 13. Emacs:有没有办法使用Emacs创建交互式脚本?
- 14. 嵌套轨形成没有accepts_nested_attributes_for
- 15. 轨多种形式
- 16. 通讯形式轨
- 17. 使用Raphaël创建图形
- 18. 使用SDL_FillRect创建矩形
- 19. 使用Pygame创建矩形
- 20. 有没有办法在Android上创建三角形按钮?
- 21. 钢轨形式的数据没有保存到分区
- 22. f.select没有在轨
- 23. 轨创建before_create
- 24. 多步骤导轨有多种形式
- 25. 有条件地填写导轨形式
- 26. 使用AVAssetWriter创建白噪声音轨
- 27. 使用导轨自动创建网站
- 28. Java:使用创建的多边形创建星形
- 29. 使用c#在visio中创建图形
- 30. mysql程序没有创建/使用phpmyadmin