Module: ReactOnRails::Controller::FormResponders

Defined in:
lib/react_on_rails/controller/form_responders.rb,
sig/react_on_rails/controller/form_responders.rbs

Overview

Opt-in helpers for responding to useRailsForm submissions.

Instance Method Summary collapse

Instance Method Details

#render_model_errors(record, status: 422) ⇒ void

This method returns an undefined value.

Renders ActiveModel errors as { errors: { field: [messages] } } JSON with HTTP 422 (by default).

Parameters:

  • record (Object)
  • status: (Integer) (defaults to: 422)


41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/react_on_rails/controller/form_responders.rb', line 41

def render_model_errors(record, status: 422)
  unless status.is_a?(Integer)
    raise ArgumentError, "render_model_errors status must be an Integer HTTP status code"
  end

  unless record.respond_to?(:errors)
    raise ArgumentError, "render_model_errors record must respond to errors.messages"
  end

  errors = record.errors
  unless errors.respond_to?(:messages)
    raise ArgumentError, "render_model_errors record must respond to errors.messages"
  end

  render json: { errors: errors.messages }, status:
end