跳至內容 跳至搜尋

Active Record RecordInvalid

當記錄無效時,ActiveRecord::Base#save!ActiveRecord::Base#create! 引發。使用 record 方法來擷取未驗證的記錄。

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

屬性

[R] record

類別公開方法

new(record = nil)

# 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