Skip to content

Commit

Permalink
Merge pull request #1187 from thedarkone/polymorphic-class-fix
Browse files Browse the repository at this point in the history
Handle polymorphic_type NOT NULL columns
  • Loading branch information
spastorino committed May 21, 2011
2 parents eba978c + 1c614bc commit da8469f
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
Expand Up @@ -19,7 +19,7 @@ def inverse_reflection_for(record)

def klass
type = owner[reflection.foreign_type]
type && type.constantize
type.presence && type.constantize
end

def raise_on_type_mismatch(record)
Expand Down
Expand Up @@ -158,6 +158,17 @@ def test_with_condition
assert_not_nil Company.find(3).firm_with_condition, "Microsoft should have a firm"
end

def test_polymorphic_association_class
sponsor = Sponsor.new
assert_nil sponsor.association(:sponsorable).send(:klass)

sponsor.sponsorable_type = '' # the column doesn't have to be declared NOT NULL
assert_nil sponsor.association(:sponsorable).send(:klass)

sponsor.sponsorable = Member.new :name => "Bert"
assert_equal Member, sponsor.association(:sponsorable).send(:klass)
end

def test_with_polymorphic_and_condition
sponsor = Sponsor.create
member = Member.create :name => "Bert"
Expand Down

0 comments on commit da8469f

Please sign in to comment.