You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
module ControllerRescueHandler
|
|
|
|
extend ActiveSupport::Concern
|
|
|
|
|
|
|
|
included do
|
|
|
|
# rescue_from ActionView::MissingTemplate, with: :object_not_found
|
|
|
|
# rescue_from ActiveRecord::RecordNotFound, with: :object_not_found
|
|
|
|
rescue_from Educoder::TipException, with: :tip_show
|
|
|
|
rescue_from ::ActionView::MissingTemplate, with: :missing_template
|
|
|
|
rescue_from ActiveRecord::RecordNotFound, with: :object_not_found
|
|
|
|
rescue_from ActionController::ParameterMissing, with: :render_parameter_missing
|
|
|
|
# form validation error
|
|
|
|
rescue_from ActiveModel::ValidationError do |ex|
|
|
|
|
render_error(ex.model.errors.full_messages.join(','))
|
|
|
|
end
|
|
|
|
rescue_from ActiveRecord::RecordInvalid do |ex|
|
|
|
|
render_error(ex.record.errors.full_messages.join(','))
|
|
|
|
end
|
|
|
|
rescue_from Exception do |e|
|
|
|
|
logger.error e
|
|
|
|
render json: {status: -1, message: e.message}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|