Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有没有办法在创建记录时跟踪对 after_commit 模型的更改?我尝试使用脏模块并且能够在记录更新时跟踪更改,但是在创建记录时不会记录更改。
你不能使用 railschanged?方法,因为它总是返回 false。要在事务提交后跟踪更改,请使用previous_changes方法。它将返回一个以属性名作为键的哈希。然后,您可以检查您的 attribute_name 是否在哈希中:
changed?
previous_changes
after_commit :foo def foo if previous_changes[attribute_name] #do your task end end