diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2011-02-14 11:51:56 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2011-02-14 11:51:56 -0800 |
commit | 0123ceb9cd1ae352308184852cae1edbd62155e1 (patch) | |
tree | e52d0c9c4fdca1f5e263e38faa10877eaa3190ec /activerecord/test/cases/associations/has_one_associations_test.rb | |
parent | 6f4e3ffd0f42c92a00536e7e1356be3e8cf37639 (diff) | |
parent | b9ea751d0e56bd00d341766977a607ed3f7ddd0f (diff) | |
download | rails-0123ceb9cd1ae352308184852cae1edbd62155e1.tar.gz rails-0123ceb9cd1ae352308184852cae1edbd62155e1.tar.bz2 rails-0123ceb9cd1ae352308184852cae1edbd62155e1.zip |
Merge remote branch 'jonleighton/association_fixes'
* jonleighton/association_fixes:
Add a transaction wrapper in add_to_target. This means that #build will now also use a transaction. IMO this is reasonable given that the before_add and after_add callbacks might do anything, and this great consistency allows us to abstract out the duplicate code from #build and #create.
Inline ensure_owner_is_persisted! as it is only called from one place
@target should always be an array
Rename add_record_to_target_with_callbacks to add_to_target
Don't pass the block through build_record
Move create and create! next to build
Get rid of create_record as it is not only used in one place
Get rid of AssociationCollection#save_record
Fix test/cases/connection_pool_test.rb for sqlite3 in-memory db
Add interpolation of association conditions back in, in the form of proc { ... } rather than instance_eval-ing strings
Diffstat (limited to 'activerecord/test/cases/associations/has_one_associations_test.rb')
-rw-r--r-- | activerecord/test/cases/associations/has_one_associations_test.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/activerecord/test/cases/associations/has_one_associations_test.rb b/activerecord/test/cases/associations/has_one_associations_test.rb index dbf6dfe20d..6b73a35905 100644 --- a/activerecord/test/cases/associations/has_one_associations_test.rb +++ b/activerecord/test/cases/associations/has_one_associations_test.rb @@ -243,6 +243,14 @@ class HasOneAssociationsTest < ActiveRecord::TestCase firm.destroy end + def test_finding_with_interpolated_condition + firm = Firm.find(:first) + superior = firm.clients.create(:name => 'SuperiorCo') + superior.rating = 10 + superior.save + assert_equal 10, firm.clients_with_interpolated_conditions.first.rating + end + def test_assignment_before_child_saved firm = Firm.find(1) firm.account = a = Account.new("credit_limit" => 1000) |