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

时间:2011-08-12 21:33:04

标签: ruby-on-rails activerecord ruby-on-rails-3.1

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

由于

2 个答案:

答案 0 :(得分:5)

这是Rails 3.1中的预期行为。在活动记录CHANGELOG上:

  

调用ActiveRecord :: Base#clone会产生一个浅的副本   记录,包括复制冻结状态。没有回调   调用。

您可以使用dup。它将运行before_create回调。

答案 1 :(得分:0)