aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/CHANGELOG.md
diff options
context:
space:
mode:
authorSeverin Schoepke <severin.schoepke@gmail.com>2013-12-05 15:57:05 +0100
committerSeverin Schoepke <severin.schoepke@gmail.com>2013-12-05 16:03:07 +0100
commitf1a646fa74290db32fb52bb373791891ab73d693 (patch)
tree9701a5c8a35828fd619a3af91042e2cde432f6f4 /activerecord/CHANGELOG.md
parentf0c58621f104492aa1c2b6cb13ecb2d6c60541fa (diff)
downloadrails-f1a646fa74290db32fb52bb373791891ab73d693.tar.gz
rails-f1a646fa74290db32fb52bb373791891ab73d693.tar.bz2
rails-f1a646fa74290db32fb52bb373791891ab73d693.zip
polymorphic belongs_to association with touch: true updates old record correctly
Example: Given you have a comments model with a polymorphic commentable association (e.g. books and songs) with the touch option set. Every time you update a comment its commentable should be touched. This was working when you changed attributes on the comment or when you moved the comment from one book to another. However, it was not working when moving a comment from a book to a song. This is now fixed.
Diffstat (limited to 'activerecord/CHANGELOG.md')
-rw-r--r--activerecord/CHANGELOG.md14
1 files changed, 14 insertions, 0 deletions
diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md
index 951ec17a85..ed076c04bb 100644
--- a/activerecord/CHANGELOG.md
+++ b/activerecord/CHANGELOG.md
@@ -1,3 +1,17 @@
+* Polymorphic belongs_to associations with the `touch: true` option set update the timestamps of
+ the old and new owner correctly when moved between owners of different types.
+
+ Example:
+
+ class Rating < ActiveRecord::Base
+ belongs_to :rateable, polymorphic: true, touch: true
+ end
+
+ rating = Rating.create rateable: Song.find(1)
+ rating.update_attributes rateable: Book.find(2) # => timestamps of Song(1) and Book(2) are updated
+
+ *Severin Schoepke*
+
* Improve formatting of migration exception messages: make them easier to read
with line breaks before/after, and improve the error for pending migrations.