我有一个模型。我想克隆它。
但是在我运行model.save之后!我的 before_create 回调没有被触发。
所以,我想知道有什么技巧可以让 rails 认为这个克隆对象实际上是新的。
谢谢
最佳答案
这是 Rails 3.1 中的预期行为。在事件记录上 CHANGELOG :
Calling ActiveRecord::Base#clone will result in a shallow copy of the record, including copying the frozen state. No callbacks will be called.
您可以使用
dup
.它将运行 before_create
打回来。
关于ruby-on-rails - Rails 3.1 before_create 回调在克隆模型后不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7046543/