diff options
author | Frederick Cheung <frederick.cheung@gmail.com> | 2008-12-26 22:53:07 +0000 |
---|---|---|
committer | Frederick Cheung <frederick.cheung@gmail.com> | 2008-12-26 23:17:56 +0000 |
commit | 7db1704068b86fb2212388b14b4963526bacfa5d (patch) | |
tree | 615165073929beb1f1c0ad67fd8f146446ac2c56 /activerecord/lib/active_record | |
parent | f4f8923cf0ef5bd31f9e98cecf4603d0c4bde296 (diff) | |
download | rails-7db1704068b86fb2212388b14b4963526bacfa5d.tar.gz rails-7db1704068b86fb2212388b14b4963526bacfa5d.tar.bz2 rails-7db1704068b86fb2212388b14b4963526bacfa5d.zip |
Fix :include of has_many associations with :primary_key option
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/association_preload.rb | 2 | ||||
-rwxr-xr-x | activerecord/lib/active_record/associations.rb | 2 |
2 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..195d2fb4f8 100644 --- a/activerecord/lib/active_record/association_preload.rb +++ b/activerecord/lib/active_record/association_preload.rb @@ -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] diff --git a/activerecord/lib/active_record/associations.rb b/activerecord/lib/active_record/associations.rb index 5a60b13fd8..237e5c0e9d 100755 --- a/activerecord/lib/active_record/associations.rb +++ b/activerecord/lib/active_record/associations.rb @@ -2171,7 +2171,7 @@ module ActiveRecord aliased_table_name, foreign_key, parent.aliased_table_name, - parent.primary_key + reflection.options[:primary_key] || parent.primary_key ] end when :belongs_to |