diff options
author | Yves Senn <yves.senn@gmail.com> | 2013-05-21 17:59:37 +0200 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2013-05-23 07:38:33 +0200 |
commit | ef99c1147592e91bb256952986470592ea0e5f6c (patch) | |
tree | 50f10c0b8e4d40314f0324b5286400e1f608a6fb /activerecord/lib/active_record/test_case.rb | |
parent | 30d28b19584783218e842ce2fd7bfe2bc1dccf66 (diff) | |
download | rails-ef99c1147592e91bb256952986470592ea0e5f6c.tar.gz rails-ef99c1147592e91bb256952986470592ea0e5f6c.tar.bz2 rails-ef99c1147592e91bb256952986470592ea0e5f6c.zip |
Fix the `:primary_key` option for `has_many` associations.
When removing records from a `has_many` association it used
the `primary_key` defined on the association.
Our test suite didn't fail because on all occurences of `:primary_key`,
the specified column was available in both tables. This prevented the
code from raising an exception but it still behaved badly.
I added a test-case to prevent regressions that failed with:
```
1) Error:
HasManyAssociationsTest#test_has_many_assignment_with_custom_primary_key:
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: essays.first_name: UPDATE "essays" SET "writer_id" = NULL WHERE "essays"."writer_id" = ? AND "essays"."first_name" IS NULL
```
Diffstat (limited to 'activerecord/lib/active_record/test_case.rb')
0 files changed, 0 insertions, 0 deletions