Browse files

Add docs about behaviour of replacing a has_one associate object, tha…

…t the previous one is deleted even if the new one

 doesn't get persisted to database.

 Fixes #13197 . [ci skip]
  • Loading branch information...
1 parent a31a44a commit f93ce1bee992485de1d93e755a4c738c66b3b678 @vipulnsward vipulnsward committed Jan 25, 2014
Showing with 2 additions and 1 deletion.
  1. +2 −1 activerecord/lib/active_record/associations.rb
3 activerecord/lib/active_record/associations.rb
@@ -1213,7 +1213,8 @@ def has_many(name, scope = nil, options = {}, &extension)
# Returns the associated object. +nil+ is returned if none is found.
# [association=(associate)]
# Assigns the associate object, extracts the primary key, sets it as the foreign key,
- # and saves the associate object.
+ # and saves the associate object. To avoid database inconsistencies, permanently deletes an existing
+ # associated object when assigning a new one, even if the new one isn't saved to database.
# [build_association(attributes = {})]
# Returns a new object of the associated type that has been instantiated
# with +attributes+ and linked to this object through a foreign key, but has not

0 comments on commit f93ce1b

Please sign in to comment.