diff options
author | Isaac Betesh <iybetesh@gmail.com> | 2017-03-29 11:05:38 -0400 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2017-04-20 19:45:58 -0400 |
commit | b17fa0c353a32c08558892f722f509f8699dba35 (patch) | |
tree | c3093d79c556adff3076be3ebe09e049b2386b35 /activerecord/lib | |
parent | 7fcd25f44ce059bf9d68b9fd125c44c46b08c074 (diff) | |
download | rails-b17fa0c353a32c08558892f722f509f8699dba35.tar.gz rails-b17fa0c353a32c08558892f722f509f8699dba35.tar.bz2 rails-b17fa0c353a32c08558892f722f509f8699dba35.zip |
Don't attempt to create a new record that was already created.
Fixes #24032
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/autosave_association.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/autosave_association.rb b/activerecord/lib/active_record/autosave_association.rb index 6bccbc06cd..607c54e481 100644 --- a/activerecord/lib/active_record/autosave_association.rb +++ b/activerecord/lib/active_record/autosave_association.rb @@ -181,6 +181,7 @@ module ActiveRecord if reflection.collection? before_save :before_save_collection_association + after_save :after_save_collection_association define_non_cyclic_method(save_method) { save_collection_association(reflection) } # Doesn't use after_save as that would save associations added in after_create/after_update twice @@ -371,6 +372,10 @@ module ActiveRecord true end + def after_save_collection_association + @new_record_before_save = false + end + # Saves any new associated records, or all loaded autosave associations if # <tt>:autosave</tt> is enabled on the association. # |