aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Rothlisberger <dave@rothlis.net>2009-12-28 09:21:53 +0000
committerDave Rothlisberger <dave@rothlis.net>2009-12-28 09:21:53 +0000
commit44e8f7cf00d94ddcd9b02471782c76cc6e288739 (patch)
tree33a8928e69e499faf0a7c3db6ababc0ed53090a7
parent2ad0618385354939ba6f4fec8472f05a92959751 (diff)
downloadrails-44e8f7cf00d94ddcd9b02471782c76cc6e288739.tar.gz
rails-44e8f7cf00d94ddcd9b02471782c76cc6e288739.tar.bz2
rails-44e8f7cf00d94ddcd9b02471782c76cc6e288739.zip
Corrected documentation of has_many methods collection.build and collection.create.
* collection.create: Clarified the wording (this had always confused me). I used the phrase "base model" to mean the model that specifies the has_many association (this wording is also used previously, e.g. in the "Cardinality and associations" section). * collection.build: You *can* actually call this to add new association records when the base model is a new record. In ActiveRecord::Associations::AssociationCollection, #create_record calls #ensure_owner_is_not_new, but #build_record does not.
-rwxr-xr-xactiverecord/lib/active_record/associations.rb7
1 files changed, 3 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/associations.rb b/activerecord/lib/active_record/associations.rb
index 0539aa4db2..56d13a4303 100755
--- a/activerecord/lib/active_record/associations.rb
+++ b/activerecord/lib/active_record/associations.rb
@@ -767,13 +767,12 @@ module ActiveRecord
# [collection.build(attributes = {}, ...)]
# Returns one or more new objects of the collection type that have been instantiated
# with +attributes+ and linked to this object through a foreign key, but have not yet
- # been saved. <b>Note:</b> This only works if an associated object already exists, not if
- # it's +nil+!
+ # been saved.
# [collection.create(attributes = {})]
# Returns a new object of the collection type that has been instantiated
# with +attributes+, linked to this object through a foreign key, and that has already
- # been saved (if it passed the validation). <b>Note:</b> This only works if an associated
- # object already exists, not if it's +nil+!
+ # been saved (if it passed the validation). *Note*: This only works if the base model
+ # already exists, not if it's +nil+ or is a new (unsaved) record!
#
# (*Note*: +collection+ is replaced with the symbol passed as the first argument, so
# <tt>has_many :clients</tt> would add among others <tt>clients.empty?</tt>.)