diff options
author | lsylvester <lachlan.sylvester@hypothetical.com.au> | 2014-08-11 13:31:31 +1000 |
---|---|---|
committer | lsylvester <lachlan.sylvester@hypothetical.com.au> | 2014-08-11 20:56:21 +1000 |
commit | 0f99aa615e11c50cc64b567f54cf64f59108c5e5 (patch) | |
tree | a3e62ee239e39461070ddef9c538e8e67d40e7fc | |
parent | 49798b52bfaaa452f1c535ca932cc267482348fe (diff) | |
download | rails-0f99aa615e11c50cc64b567f54cf64f59108c5e5.tar.gz rails-0f99aa615e11c50cc64b567f54cf64f59108c5e5.tar.bz2 rails-0f99aa615e11c50cc64b567f54cf64f59108c5e5.zip |
update error message to reflect that the record could have been destroyed
-rw-r--r-- | activerecord/CHANGELOG.md | 6 | ||||
-rw-r--r-- | activerecord/lib/active_record/persistence.rb | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md index 4b70d883fe..ea951fdfd1 100644 --- a/activerecord/CHANGELOG.md +++ b/activerecord/CHANGELOG.md @@ -1,3 +1,9 @@ +* When calling `update_columns` on a record that is not persisted, the error + message now reflects whether that object is a new record or has been + destroyed. + + *Lachlan Sylvester* + * Define `id_was` to get the previous value of the primary key. Currently when we call id_was and we have a custom primary key name diff --git a/activerecord/lib/active_record/persistence.rb b/activerecord/lib/active_record/persistence.rb index b5799d6bff..51b1931ed5 100644 --- a/activerecord/lib/active_record/persistence.rb +++ b/activerecord/lib/active_record/persistence.rb @@ -287,7 +287,8 @@ module ActiveRecord # This method raises an +ActiveRecord::ActiveRecordError+ when called on new # objects, or when at least one of the attributes is marked as readonly. def update_columns(attributes) - raise ActiveRecordError, "cannot update on a new record object" unless persisted? + raise ActiveRecordError, "cannot update a new record" if new_record? + raise ActiveRecordError, "cannot update a destroyed record" if destroyed? attributes.each_key do |key| verify_readonly_attribute(key.to_s) |