aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/persistence.rb
diff options
context:
space:
mode:
authorRichard Schneeman <richard.schneeman@gmail.com>2016-07-03 10:35:31 -0500
committerGitHub <noreply@github.com>2016-07-03 10:35:31 -0500
commitee50de03908f24c377d4842f759182fe9241c6fa (patch)
tree9d191096e2aa6c0945f2365fd46835660a846950 /activerecord/lib/active_record/persistence.rb
parentd3c444fb3b450f3a11c244017e92850ff3d9f62f (diff)
parentac156060a4dd81ea1f7730affb1491ceb3c973d0 (diff)
downloadrails-ee50de03908f24c377d4842f759182fe9241c6fa.tar.gz
rails-ee50de03908f24c377d4842f759182fe9241c6fa.tar.bz2
rails-ee50de03908f24c377d4842f759182fe9241c6fa.zip
Merge pull request #25241 from aguynamedben/fix-touch-error-messages
Improve error message when record touch fails.
Diffstat (limited to 'activerecord/lib/active_record/persistence.rb')
-rw-r--r--activerecord/lib/active_record/persistence.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/persistence.rb b/activerecord/lib/active_record/persistence.rb
index afed5e5e85..ebdb9efba2 100644
--- a/activerecord/lib/active_record/persistence.rb
+++ b/activerecord/lib/active_record/persistence.rb
@@ -479,7 +479,12 @@ module ActiveRecord
# ball.touch(:updated_at) # => raises ActiveRecordError
#
def touch(*names, time: nil)
- raise ActiveRecordError, "cannot touch on a new record object" unless persisted?
+ unless persisted?
+ raise ActiveRecordError, <<-end_error.strip_heredoc
+ cannot touch on a new or destroyed record object. Consider using
+ persisted?, new_record?, or destroyed? before touching
+ end_error
+ end
time ||= current_time_from_proper_timezone
attributes = timestamp_attributes_for_update_in_model