diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2017-04-02 08:24:23 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2017-04-21 07:20:52 +0900 |
commit | c0038f7c362fa0c92fc9e1ea3bdb2706f42386c6 (patch) | |
tree | 0713cb06b1f2be74776d0b52c88ac89b2e3acbf8 /activerecord/lib/active_record/explain_subscriber.rb | |
parent | 972df059bbedfe60d29caa8a561f5aff76883e63 (diff) | |
download | rails-c0038f7c362fa0c92fc9e1ea3bdb2706f42386c6.tar.gz rails-c0038f7c362fa0c92fc9e1ea3bdb2706f42386c6.tar.bz2 rails-c0038f7c362fa0c92fc9e1ea3bdb2706f42386c6.zip |
Prevent double firing the before save callback of new object when the parent association saved in the callback
Related #18155, #26661, 268a5bb, #27434, #27442, and #28599.
Originally #18155 was introduced for preventing double insertion caused
by the after save callback. But it was caused the before save issue
(#26661). 268a5bb fixed #26661, but it was caused the performance
regression (#27434). #27442 added new record to `target` before calling
callbacks for fixing #27434. But it was caused double firing before save
callback (#28599). We cannot add new object to `target` before saving
the object.
This is improving #18155 to only track callbacks after `save`.
Fixes #28599.
Diffstat (limited to 'activerecord/lib/active_record/explain_subscriber.rb')
0 files changed, 0 insertions, 0 deletions