什么时候改变了?翻转activerecord回调?

时间:2016-12-02 20:42:38

标签: ruby-on-rails activerecord paperclip

我正在使用Ruby on Rails应用程序,在该应用程序中,它创建了在after_save回调中生成一些文件。回形针宝石在课堂上使用。当创建这些文件时,在Ruby对象上调用save,该对象触发第二个save调用after_save的循环,调用save调用after_save和on和on。

保存! - > after_save - >保存! - > after_save的!

最终,某个应用程序会自行突破这个循环。我不知道怎么做。

我的问题是,如果我对某个类的属性进行了更改?= true,何时更改?会被翻转为false?我们使用更改?检查作为一种门来阻止此文件创建发生,并且每次进入after_save代码时似乎总是更改。我会认为在after_save中,改变了吗?由于数据已保存,现在将是假的。

1 个答案:

答案 0 :(得分:-1)

您应该after_commit使用previous_changes中存在的键(属性)条件。 http://apidock.com/rails/ActiveModel/Dirty/previous_changes