Skip to content

Commit

Permalink
Don't find belongs_to target when the foreign_key is NULL. Fixes #2828
Browse files Browse the repository at this point in the history
  • Loading branch information
georg authored and tenderlove committed Sep 5, 2011
1 parent 7f7e362 commit 2175012
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
Expand Up @@ -20,6 +20,10 @@ def updated?

private

def find_target?
!loaded? && foreign_key_present? && klass
end

def update_counters(record)
counter_cache_name = reflection.counter_cache_column

Expand Down
Expand Up @@ -352,6 +352,12 @@ def test_polymorphic_setting_foreign_key_after_nil_target_loaded
assert_equal members(:groucho), sponsor.sponsorable
end

def test_dont_find_target_when_foreign_key_is_null
tagging = taggings(:thinking_general)
queries = assert_sql { tagging.super_tag }
assert_equal 0, queries.length
end

def test_field_name_same_as_foreign_key
computer = Computer.find(1)
assert_not_nil computer.developer, ":foreign key == attribute didn't lock up" # '
Expand Down

0 comments on commit 2175012

Please sign in to comment.