From 641a3068ea11c20e09358d6911404a265da32a9f Mon Sep 17 00:00:00 2001 From: Jon Leighton Date: Mon, 14 Feb 2011 00:58:34 +0000 Subject: Don't pass the block through build_record --- .../associations/association_collection.rb | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'activerecord/lib/active_record') diff --git a/activerecord/lib/active_record/associations/association_collection.rb b/activerecord/lib/active_record/associations/association_collection.rb index e391d9cce6..a850cf39cd 100644 --- a/activerecord/lib/active_record/associations/association_collection.rb +++ b/activerecord/lib/active_record/associations/association_collection.rb @@ -59,21 +59,21 @@ module ActiveRecord if attributes.is_a?(Array) attributes.collect { |attr| build(attr, &block) } else - build_record(attributes) do |record| - block.call(record) if block_given? + add_record_to_target_with_callbacks(build_record(attributes)) do |record| + yield(record) if block_given? set_owner_attributes(record) end end end - def create(attrs = {}) - if attrs.is_a?(Array) - attrs.collect { |attr| create(attr) } + def create(attributes = {}) + if attributes.is_a?(Array) + attributes.collect { |attr| create(attr) } else ensure_owner_is_persisted! transaction do - build_record(attrs) do |record| + add_record_to_target_with_callbacks(build_record(attributes)) do |record| yield(record) if block_given? insert_record(record) end @@ -427,10 +427,8 @@ module ActiveRecord raise NotImplementedError end - def build_record(attributes, &block) - attributes = scoped.scope_for_create.merge(attributes) - record = @reflection.build_association(attributes) - add_record_to_target_with_callbacks(record, &block) + def build_record(attributes) + @reflection.build_association(scoped.scope_for_create.merge(attributes)) end def delete_or_destroy(records, method) -- cgit v1.2.3