Raised by ActiveRecord::Base#save! and ActiveRecord::Base.update_attribute! methods when a record failed to validate or cannot be saved due to any of the before_* callbacks throwing :abort. See ActiveRecord::Callbacks for further details.

class Product < ActiveRecord::Base
  before_save do
    throw :abort if price < 0
  end
end

Product.create! # => raises an ActiveRecord::RecordNotSaved

Methods

Attributes

[R] record

Class Public methods

new(message = nil, record = nil)

📝 Source code
# File activerecord/lib/active_record/errors.rb, line 151
    def initialize(message = nil, record = nil)
      @record = record
      super(message)
    end
🔎 See on GitHub