diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2009-01-01 18:13:14 +0100 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2009-01-01 18:13:14 +0100 |
commit | f1e20ce9a781eb73e421678fc8149eba77ddc6f6 (patch) | |
tree | c88842ff5196f2fe0bd02af6d544f9dc87647789 /activerecord/lib/active_record/association_preload.rb | |
parent | 49a055dff639164435dfb71bf18d695970eedac9 (diff) | |
parent | a5004573d8d132fe079242fc082ab4661b0976e9 (diff) | |
download | rails-f1e20ce9a781eb73e421678fc8149eba77ddc6f6.tar.gz rails-f1e20ce9a781eb73e421678fc8149eba77ddc6f6.tar.bz2 rails-f1e20ce9a781eb73e421678fc8149eba77ddc6f6.zip |
Merge branch 'master' of git@github.com:rails/rails
Diffstat (limited to 'activerecord/lib/active_record/association_preload.rb')
-rw-r--r-- | activerecord/lib/active_record/association_preload.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/association_preload.rb b/activerecord/lib/active_record/association_preload.rb index 9d0bf3a308..e4ab69aa1b 100644 --- a/activerecord/lib/active_record/association_preload.rb +++ b/activerecord/lib/active_record/association_preload.rb @@ -195,7 +195,7 @@ module ActiveRecord def preload_has_one_association(records, reflection, preload_options={}) return if records.first.send("loaded_#{reflection.name}?") - id_to_record_map, ids = construct_id_map(records) + id_to_record_map, ids = construct_id_map(records, reflection.options[:primary_key]) options = reflection.options records.each {|record| record.send("set_#{reflection.name}_target", nil)} if options[:through] @@ -229,7 +229,7 @@ module ActiveRecord options = reflection.options primary_key_name = reflection.through_reflection_primary_key_name - id_to_record_map, ids = construct_id_map(records, primary_key_name) + id_to_record_map, ids = construct_id_map(records, primary_key_name || reflection.options[:primary_key]) records.each {|record| record.send(reflection.name).loaded} if options[:through] |