Module: Practical::Views::ErrorResponse

Extended by:
ActiveSupport::Concern
Defined in:
app/lib/practical/views/error_response.rb

Instance Method Summary collapse

Instance Method Details

#default_respond_to_model_validation_error(html_action:, model:) ⇒ Object



21
22
23
24
25
26
# File 'app/lib/practical/views/error_response.rb', line 21

def default_respond_to_model_validation_error(html_action:, model:)
  respond_to do |format|
    render_json_error(format: format, model: model)
    render_html_error(action: html_action, format: format)
  end
end

#render_html_error(action:, format:) ⇒ Object



14
15
16
17
18
19
# File 'app/lib/practical/views/error_response.rb', line 14

def render_html_error(action:, format:)
  format.html do
    yield  if block_given?
    render action, status: :unprocessable_content
  end
end

#render_json_error(format:, model:) ⇒ Object



6
7
8
9
10
11
12
# File 'app/lib/practical/views/error_response.rb', line 6

def render_json_error(format:, model:)
  format.json do
    errors = Practical::Views::ErrorHandling.build_error_json(model: model, helpers: helpers)
    yield(errors) if block_given?
    render json: errors, status: :unprocessable_content
  end
end