123456789_123456789_123456789_123456789_123456789_

Exception: ActiveRecord::RecordInvalid

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, ActiveRecordError, StandardError
Instance Chain:
self, ActiveRecordError, StandardError
Inherits: ActiveRecord::ActiveRecordError
Defined in: activerecord/lib/active_record/validations.rb

Overview

Raised by {ActiveRecord::Base#save!} and {ActiveRecord::Base#create!} when the record is invalid. Use the #record method to retrieve the record which did not validate.

begin
  complex_operation_that_internally_calls_save!
rescue ActiveRecord::RecordInvalid => invalid
  puts invalid.record.errors
end

Class Method Summary

Instance Attribute Summary

Constructor Details

.new(record = nil) ⇒ RecordInvalid

[ GitHub ]

  
# File 'activerecord/lib/active_record/validations.rb', line 18

def initialize(record = nil)
  if record
    @record = record
    errors = @record.errors.full_messages.join(", ")
    message = I18n.t(:"#{@record.class.i18n_scope}.errors.messages.record_invalid", errors: errors, default: :"errors.messages.record_invalid")
  else
    message = "Record invalid"
  end

  super(message)
end

Instance Attribute Details

#record (readonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record/validations.rb', line 16

attr_reader :record