Rails 3.1 before_create回调在克隆模型之后不会触发

igg*_*gbs 4 activerecord ruby-on-rails ruby-on-rails-3.1

我有一个模特.我想克隆它.但是在我运行model.save之后!我的before_create回调没有被触发.所以,我想知道是否有一些技巧让rails认为这个克隆对象实际上是新的.

谢谢

hta*_*ata 5

这是Rails 3.1中的预期行为.在Active Record CHANGELOG上:

调用ActiveRecord :: Base#clone将导致记录的浅表副本,包括复制冻结状态.不会调用任何回调.

你可以用dup.它将运行before_create回调.