From 3dffa0d2331a5e25bac2b046f81baac7f0535d68 Mon Sep 17 00:00:00 2001 From: Robert Whitney Date: Sat, 9 Mar 2013 12:34:32 -0500 Subject: Update documentation for collection<< to reflect << on new records. collection<< does not automatically fire update sql unless the parent object is not a new record (and thus has a primary key). eg: p = Post.new p.comments << Comment.new does not call update sql until: p.save at which point it saves the parent object and then the collection object. changes that to the --- activerecord/lib/active_record/associations.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/activerecord/lib/active_record/associations.rb b/activerecord/lib/active_record/associations.rb index 35e4eb19a4..7e99380a29 100644 --- a/activerecord/lib/active_record/associations.rb +++ b/activerecord/lib/active_record/associations.rb @@ -1024,7 +1024,7 @@ module ActiveRecord # [collection<<(object, ...)] # Adds one or more objects to the collection by setting their foreign keys to the collection's primary key. # Note that this operation instantly fires update sql without waiting for the save or update call on the - # parent object. + # parent object, unless the parent object is a new record. # [collection.delete(object, ...)] # Removes one or more objects from the collection by setting their foreign keys to +NULL+. # Objects will be in addition destroyed if they're associated with dependent: :destroy, @@ -1433,7 +1433,7 @@ module ActiveRecord # Adds one or more objects to the collection by creating associations in the join table # (collection.push and collection.concat are aliases to this method). # Note that this operation instantly fires update sql without waiting for the save or update call on the - # parent object. + # parent object, unless the parent object is a new record. # [collection.delete(object, ...)] # Removes one or more objects from the collection by removing their associations from the join table. # This does not destroy the objects. -- cgit v1.2.3