aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/has_many_through_association.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2014-02-25 14:57:06 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2014-02-25 14:57:49 -0800
commitb1656fa6305a5c8237027ab8165d7292751c0e86 (patch)
tree936a345805dfacbf2c701f0e4d4379d2819bc695 /activerecord/lib/active_record/associations/has_many_through_association.rb
parent7c2ce0403badb73da517002f980bac30c540ade4 (diff)
downloadrails-b1656fa6305a5c8237027ab8165d7292751c0e86.tar.gz
rails-b1656fa6305a5c8237027ab8165d7292751c0e86.tar.bz2
rails-b1656fa6305a5c8237027ab8165d7292751c0e86.zip
let `insert_record` actuall save the object.
`before_add` callbacks are fired before the record is saved on `has_and_belongs_to_many` assocations *and* on `has_many :through` associations. Before this change, `before_add` callbacks would be fired before the record was saved on `has_and_belongs_to_many` associations, but *not* on `has_many :through` associations. Fixes #14144
Diffstat (limited to 'activerecord/lib/active_record/associations/has_many_through_association.rb')
-rw-r--r--activerecord/lib/active_record/associations/has_many_through_association.rb3
1 files changed, 1 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/associations/has_many_through_association.rb b/activerecord/lib/active_record/associations/has_many_through_association.rb
index 31b8d27892..64bc98c642 100644
--- a/activerecord/lib/active_record/associations/has_many_through_association.rb
+++ b/activerecord/lib/active_record/associations/has_many_through_association.rb
@@ -30,7 +30,6 @@ module ActiveRecord
unless owner.new_record?
records.flatten.each do |record|
raise_on_type_mismatch!(record)
- record.save! if record.new_record?
end
end
@@ -40,7 +39,7 @@ module ActiveRecord
def concat_records(records)
ensure_not_nested
- records = super
+ records = super(records, true)
if owner.new_record? && records
records.flatten.each do |record|