diff options
author | chrisfinne <chris.finne@gmail.com> | 2014-03-15 03:32:24 -0700 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-03-27 15:01:31 -0300 |
commit | 3a661794382c3b06cbb4d6dcc1859dd569cf8652 (patch) | |
tree | 95fe12c4d22e8225a31d19a54556a0b2b2f99a3e /activerecord/lib | |
parent | eddcdb0f1de6e7b1b503a6df8d60cd6a145ce080 (diff) | |
download | rails-3a661794382c3b06cbb4d6dcc1859dd569cf8652.tar.gz rails-3a661794382c3b06cbb4d6dcc1859dd569cf8652.tar.bz2 rails-3a661794382c3b06cbb4d6dcc1859dd569cf8652.zip |
AR .persisted? throws SystemStackError for an unsaved model with a
custom primary_key that didn't save due to validation error
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/transactions.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/transactions.rb b/activerecord/lib/active_record/transactions.rb index ec3e8f281b..17f76b63b3 100644 --- a/activerecord/lib/active_record/transactions.rb +++ b/activerecord/lib/active_record/transactions.rb @@ -369,7 +369,7 @@ module ActiveRecord @new_record = restore_state[:new_record] @destroyed = restore_state[:destroyed] if restore_state.has_key?(:id) - self.id = restore_state[:id] + write_attribute(self.class.primary_key, restore_state[:id]) else @attributes.delete(self.class.primary_key) @attributes_cache.delete(self.class.primary_key) |