我正在复制一个rails对象,除了对象的created_at
值之外,它可以复制所有细节。我正在使用deep_clone gem进行深度复制。
这是密码我要按原材料的价值和成本创造物品。
@costing = @old_costing.deep_clone :include => [{style: :images}, {raw_materials: :costing_items} , :other_cost_fixeds, :other_costs, :exchange_rates ], :use_dictionary => true do |original, kopy|
kopy.remote_picture_url = original.picture_url if kopy.is_a?(Image)
end
最佳答案
使用deep_clone
似乎很简单,如果我们使用
@costing = @old_costing.deep_clone :include => [{style: :images}, {raw_materials: :costing_items} , :other_cost_fixeds, :other_costs, :exchange_rates ], :use_dictionary => true do |original, kopy|
kopy.remote_picture_url = original.picture_url if kopy.is_a?(Image)
kopy.created_at = original.created_at
end
然后它将在所有嵌套属性上添加created_at。
从这篇文章中得到这个答案https://github.com/moiristo/deep_cloneable/issues/54
关于ruby - deep_clone gem不重复created_at,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34680742/