Permalink
Browse files

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
  • Loading branch information...
robertjwhitney committed Mar 9, 2013
1 parent 0b93c25 commit 3dffa0d2331a5e25bac2b046f81baac7f0535d68
Showing with 2 additions and 2 deletions.
  1. +2 −2 activerecord/lib/active_record/associations.rb
@@ -1024,7 +1024,7 @@ module ClassMethods
# [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 <tt>dependent: :destroy</tt>,
@@ -1433,7 +1433,7 @@ def belongs_to(name, scope = nil, options = {})
# Adds one or more objects to the collection by creating associations in the join table
# (<tt>collection.push</tt> and <tt>collection.concat</tt> 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.

0 comments on commit 3dffa0d

Please sign in to comment.