module Dsl::ErrorHandling

Public Instance Methods

map_errors_to(form) { || ... } click to toggle source
# File lib/dsl/error_handling.rb, line 3
def map_errors_to(form)
  yield
rescue ActiveRecord::RecordInvalid, ActiveModel::ValidationError => e
  record = (e.try(:record) || e.model)
  initial_messages = record.errors.messages.as_json
  record.errors.clear
  initial_messages.each do |i|
    record.errors.add(form, i)
  end
  raise ActiveModel::ValidationError, record
end