Support for updating a belongs to association from the foreign key (without saving and reloading the record)

Signed-off-by: Michael Koziarski <michael@koziarski.com>
[#142 state:committed]
This commit is contained in:
Jon Leighton
2008-09-07 14:42:33 +01:00
committed by Michael Koziarski
parent 646b5bfa61
commit fcf31cb752
3 changed files with 33 additions and 1 deletions

View File

@@ -47,6 +47,19 @@ class BelongsToAssociationsTest < ActiveRecord::TestCase
assert_equal apple.id, citibank.firm_id
end
def test_foreign_key_assignment
# Test using an existing record
signals37 = accounts(:signals37)
assert_equal companies(:first_firm), signals37.firm
signals37.firm_id = companies(:another_firm).id
assert_equal companies(:another_firm), signals37.firm
# Test using a new record
account = Account.new
account.firm_id = companies(:another_firm).id
assert_equal companies(:another_firm), account.firm
end
def test_no_unexpected_aliasing
first_firm = companies(:first_firm)
another_firm = companies(:another_firm)

View File

@@ -182,6 +182,18 @@ class AssociationProxyTest < ActiveRecord::TestCase
assert_nil p.author.reset
end
def test_reset_loads_association_next_time
welcome = posts(:welcome)
david = authors(:david)
author_assoc = welcome.author
assert_equal david, welcome.author # So we can be sure the test works correctly
author_assoc.reset
assert !author_assoc.loaded?
assert_nil author_assoc.target
assert_equal david, welcome.author
end
def test_reload_returns_assocition
david = developers(:david)
assert_nothing_raised do