diff options
author | Szymon Nowak <szimek@gmail.com> | 2009-07-15 22:22:25 +0200 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2009-07-15 18:13:32 -0700 |
commit | 1c11437a32a973fa9b521c32caa7256f9772acd7 (patch) | |
tree | e2a38c67d3ab84c5abdb80756ed69befa36ff574 /activerecord/lib/active_record/autosave_association.rb | |
parent | 0920e69244026ec83471bb4571e56300045307d3 (diff) | |
download | rails-1c11437a32a973fa9b521c32caa7256f9772acd7.tar.gz rails-1c11437a32a973fa9b521c32caa7256f9772acd7.tar.bz2 rails-1c11437a32a973fa9b521c32caa7256f9772acd7.zip |
Add primary_key option to belongs_to association
[#765 state:committed]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
Diffstat (limited to 'activerecord/lib/active_record/autosave_association.rb')
-rw-r--r-- | activerecord/lib/active_record/autosave_association.rb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/autosave_association.rb b/activerecord/lib/active_record/autosave_association.rb index a540570f42..c1bc8423a9 100644 --- a/activerecord/lib/active_record/autosave_association.rb +++ b/activerecord/lib/active_record/autosave_association.rb @@ -339,7 +339,8 @@ module ActiveRecord association.save(!autosave) if association.new_record? || autosave if association.updated? - self[reflection.primary_key_name] = association.id + association_id = association.send(reflection.options[:primary_key] || :id) + self[reflection.primary_key_name] = association_id # TODO: Removing this code doesn't seem to matter… if reflection.options[:polymorphic] self[reflection.options[:foreign_type]] = association.class.base_class.name.to_s |