ruby-on-rails – Rails 3.2中克隆方法的问题
发布时间:2020-12-17 04:05:33 所属栏目:百科 来源:网络整理
导读:我今天试图克隆我的一个对象,但它似乎不像文档那样工作. 在我的控制台中我正在做: u = User.find 1nu = u.clonenu.new_record? = false nu.new? NoMethodError: undefined method `new?' for #User:0x007fbf137b8278 所以它看起来像克隆对象只是一个副本,因
我今天试图克隆我的一个对象,但它似乎不像文档那样工作.
在我的控制台中我正在做: u = User.find 1 nu = u.clone nu.new_record? => false nu.new? NoMethodError: undefined method `new?' for #<User:0x007fbf137b8278> 所以它看起来像克隆对象只是一个副本,因为它具有与旧的相同的Id,但根据文档,它应该是新对象?
解决方法
根据
the docs自Rails 2.3.8以来已被弃用,并且可能已被删除.所以事实上你正在调用
Object#clone,它曾经调用过
ActiveRecord::Base#initialize_copy,它在Rails 3.0.9中删除了.
请改用dup. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |