【发布时间】:2017-04-17 20:30:55
【问题描述】:
我正在使用 Ruby on Rails 应用程序,它被设计为在 after_save 回调中生成一些文件。回形针宝石在课堂上使用。创建这些文件时,会在 Ruby 对象上调用 save ,这会触发第二次 save 的循环,调用 after_save 调用 save 并调用 after_save 并继续。
保存! -> after_save -> 保存! -> after_save!
最终,应用程序以某种方式自行打破了这个循环。我不确定如何。
我的问题是,如果我的类的属性已更改?=true, 何时更改? 会被翻转为 false?我们使用 changed? 检查作为一种门,以防止发生此文件创建,并且每次进入 after_save 代码时似乎 changed 总是正确的。我会认为在 after_save 中,改变了?由于数据已保存,现在将是错误的。
【问题讨论】:
-
after_update() 可以在调用 after_save 后使用
标签: ruby-on-rails activerecord paperclip