Fixes creating records in a through association with a polymorphic source
type.

Conflicts:

	activerecord/CHANGELOG
This commit is contained in:
Jon Leighton
2011-11-03 10:23:42 +00:00
parent 7c36934f4f
commit 01eae34d58
3 changed files with 12 additions and 1 deletions

View File

@@ -1,3 +1,9 @@
*Rails 3.1.2 (unreleased)*
* Fix creating records in a through association with a polymorphic source type. [GH #3247]
[Jon Leighton]
*Rails 3.1.1 (October 7, 2011)*
* Raise an exception if the primary key of a model in an association is needed

View File

@@ -44,7 +44,7 @@ module ActiveRecord
join_attributes = {
source_reflection.foreign_key =>
records.map { |record|
record.send(source_reflection.association_primary_key)
record.send(source_reflection.association_primary_key(reflection.klass))
}
}

View File

@@ -820,4 +820,9 @@ class HasManyThroughAssociationsTest < ActiveRecord::TestCase
def test_explicitly_joining_join_table
assert_equal owners(:blackbeard).toys, owners(:blackbeard).toys.with_pet
end
def test_has_many_through_with_polymorphic_source
post = tags(:general).tagged_posts.create! :title => "foo", :body => "bar"
assert_equal [tags(:general)], post.reload.tags
end
end