diff options
author | Brad Greenlee <brad@wesabe.com> | 2008-06-02 22:04:46 -0700 |
---|---|---|
committer | Michael Koziarski <michael@koziarski.com> | 2008-07-06 20:25:10 +0200 |
commit | afa0c7f728a8896c9ee9d932033e08a4c99dfd50 (patch) | |
tree | 6fd8642f524facf4d1d2584c21ce7b8d30b9d424 /activerecord/lib/active_record/associations | |
parent | 3351d2997017465047b2c3dc63dc31e2362368af (diff) | |
download | rails-afa0c7f728a8896c9ee9d932033e08a4c99dfd50.tar.gz rails-afa0c7f728a8896c9ee9d932033e08a4c99dfd50.tar.bz2 rails-afa0c7f728a8896c9ee9d932033e08a4c99dfd50.zip |
Add support for :primary_key option to has_one as well as has_many so that a key other than the default primary key can be used for the association
Signed-off-by: Michael Koziarski <michael@koziarski.com>
Diffstat (limited to 'activerecord/lib/active_record/associations')
-rwxr-xr-x | activerecord/lib/active_record/associations/has_one_association.rb | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations/has_one_association.rb b/activerecord/lib/active_record/associations/has_one_association.rb index 25a268e95c..fdc0fa52c9 100755 --- a/activerecord/lib/active_record/associations/has_one_association.rb +++ b/activerecord/lib/active_record/associations/has_one_association.rb @@ -47,7 +47,16 @@ module ActiveRecord return (obj.nil? ? nil : self) end end - + + protected + def owner_quoted_id + if @reflection.options[:primary_key] + quote_value(@owner.send(@reflection.options[:primary_key])) + else + @owner.quoted_id + end + end + private def find_target @reflection.klass.find(:first, |