diff options
-rw-r--r-- | activerecord/lib/active_record/autosave_association.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/autosave_association.rb b/activerecord/lib/active_record/autosave_association.rb index 2a5dd758a3..c384e8c413 100644 --- a/activerecord/lib/active_record/autosave_association.rb +++ b/activerecord/lib/active_record/autosave_association.rb @@ -404,7 +404,7 @@ module ActiveRecord # If the record is new or it has changed, returns true. def record_changed?(reflection, record, key) record.new_record? || - (record.attributes.keys.include?(reflection.foreign_key) && record[reflection.foreign_key] != key) || + (record.has_attribute?(reflection.foreign_key) && record[reflection.foreign_key] != key) || record.attribute_changed?(reflection.foreign_key) end |