Exception: ActiveRecord::StaleObjectError

Inherits:
ActiveRecordError show all
Defined in:
activerecord/lib/active_record/errors.rb

Overview

Raised on attempt to save stale record. Record is stale when it's being saved in another query after instantiation, for example, when two users edit the same wiki page and one starts editing and saves the page before the other.

Read more about optimistic locking in ActiveRecord::Locking module RDoc.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(record, attempted_action) ⇒ StaleObjectError

Returns a new instance of StaleObjectError


104
105
106
107
# File 'activerecord/lib/active_record/errors.rb', line 104

def initialize(record, attempted_action)
  @record = record
  @attempted_action = attempted_action
end

Instance Attribute Details

#attempted_actionObject (readonly)

Returns the value of attribute attempted_action


102
103
104
# File 'activerecord/lib/active_record/errors.rb', line 102

def attempted_action
  @attempted_action
end

#recordObject (readonly)

Returns the value of attribute record


102
103
104
# File 'activerecord/lib/active_record/errors.rb', line 102

def record
  @record
end

Instance Method Details

#messageObject


109
110
111
# File 'activerecord/lib/active_record/errors.rb', line 109

def message
  "Attempted to #{attempted_action} a stale object: #{record.class.name}"
end