aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2011-02-14 00:34:54 +0000
committerJon Leighton <j@jonathanleighton.com>2011-02-14 01:40:31 +0000
commitb93d2189c4cf370927b9796e0008034a5268214f (patch)
tree5ef6f1b923f23513b33e7a4848741ae793a86ea6
parent7ce7ae0c8bd94e7f96c1448183b83da85ef91edb (diff)
downloadrails-b93d2189c4cf370927b9796e0008034a5268214f.tar.gz
rails-b93d2189c4cf370927b9796e0008034a5268214f.tar.bz2
rails-b93d2189c4cf370927b9796e0008034a5268214f.zip
Get rid of create_record as it is not only used in one place
-rw-r--r--activerecord/lib/active_record/associations/association_collection.rb15
1 files changed, 7 insertions, 8 deletions
diff --git a/activerecord/lib/active_record/associations/association_collection.rb b/activerecord/lib/active_record/associations/association_collection.rb
index 4ead67b282..ff4c2b51ac 100644
--- a/activerecord/lib/active_record/associations/association_collection.rb
+++ b/activerecord/lib/active_record/associations/association_collection.rb
@@ -195,9 +195,13 @@ module ActiveRecord
if attrs.is_a?(Array)
attrs.collect { |attr| create(attr) }
else
- create_record(attrs) do |record|
- yield(record) if block_given?
- insert_record(record)
+ ensure_owner_is_persisted!
+
+ transaction do
+ build_record(attrs) do |record|
+ yield(record) if block_given?
+ insert_record(record)
+ end
end
end
end
@@ -423,11 +427,6 @@ module ActiveRecord
raise NotImplementedError
end
- def create_record(attributes, &block)
- ensure_owner_is_persisted!
- transaction { build_record(attributes, &block) }
- end
-
def build_record(attributes, &block)
attributes = scoped.scope_for_create.merge(attributes)
record = @reflection.build_association(attributes)