aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVipul A M <vipulnsward@gmail.com>2014-01-25 19:55:48 +0530
committerVipul A M <vipulnsward@gmail.com>2014-01-28 13:37:19 +0530
commitf93ce1bee992485de1d93e755a4c738c66b3b678 (patch)
treed14ab5f819198addd9c7e87a61e8b35160b7c15c
parenta31a44a266ad2e2ad2b9ce5aa56cd5e1d108d48a (diff)
downloadrails-f93ce1bee992485de1d93e755a4c738c66b3b678.tar.gz
rails-f93ce1bee992485de1d93e755a4c738c66b3b678.tar.bz2
rails-f93ce1bee992485de1d93e755a4c738c66b3b678.zip
Add docs about behaviour of replacing a has_one associate object, that the previous one is deleted even if the new one
doesn't get persisted to database. Fixes #13197 . [ci skip]
-rw-r--r--activerecord/lib/active_record/associations.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations.rb b/activerecord/lib/active_record/associations.rb
index 714f623af3..f3f77e21c0 100644
--- a/activerecord/lib/active_record/associations.rb
+++ b/activerecord/lib/active_record/associations.rb
@@ -1213,7 +1213,8 @@ module ActiveRecord
# 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