aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/CHANGELOG.md
diff options
context:
space:
mode:
authoreileencodes <eileencodes@gmail.com>2015-01-10 16:46:57 -0500
committereileencodes <eileencodes@gmail.com>2015-02-01 16:03:49 -0800
commit27aa4dda7d89ce7332e6d1f3266c3a0cf1c3fb9e (patch)
treef91555ce55e52110d6fc7df6401aa13e227137ee /activerecord/CHANGELOG.md
parent226cd8a094c81edb72143173e4d0c88a2eb01d5f (diff)
downloadrails-27aa4dda7d89ce7332e6d1f3266c3a0cf1c3fb9e.tar.gz
rails-27aa4dda7d89ce7332e6d1f3266c3a0cf1c3fb9e.tar.bz2
rails-27aa4dda7d89ce7332e6d1f3266c3a0cf1c3fb9e.zip
Fix validations on child record when record parent has validate: false
Fixes #17621. This 5 year old (or older) issue causes validations to fire when a parent record has `validate: false` option and a child record is saved. It's not the responsibility of the model to validate an associated object unless the object was created or modified by the parent. Clean up tests related to validations `assert_nothing_raised` is not benefiting us in these tests Corrected spelling of "respects" It's better to use `assert_not_operator` over `assert !r.valid`
Diffstat (limited to 'activerecord/CHANGELOG.md')
-rw-r--r--activerecord/CHANGELOG.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md
index a17148f1f7..3a0c32e66d 100644
--- a/activerecord/CHANGELOG.md
+++ b/activerecord/CHANGELOG.md
@@ -1,3 +1,15 @@
+* Validation errors would be raised for parent records when an association
+ was saved when the parent had `validate: false`. It should not be the
+ responsibility of the model to validate an associated object unless the
+ object was created or modified by the parent.
+
+ This fixes the issue by skipping validations if the parent record is
+ persisted, not changed, and not marked for destruction.
+
+ Fixes #17621.
+
+ *Eileen M. Uchitelle, Aaron Patterson*
+
* Fix n+1 query problem when eager loading nil associations (fixes #18312)
*Sammy Larbi*