Я пытаюсь поднять мои исключения в службе в рельсах.
Но когда я спасаюсь с конкретным именем исключения, мне выдается nameError для вызванного исключения.
status": 500,
"error": "Internal Server Error",
"exception": "#<NameError: uninitialized constant Api::V1::UsersController::CustomExceptions>",
"traces": {
Файл исключений:
module CustomExceptions
class EmptyObject < StandardError; end
class WrongParams < StandardError; end
class Unauthorized < StandardError; end
end
Исключение повышено:
class UsersService
class << self
include AuthenticationHelper
def find_users(current_user, query_params)
users = User.where(some query)
if users.count > 0
users
else
raise CustomExceptions::EmptyObject, "empty user object returned"
end
end
end
end
спасение в контроллере:
rescue CustomExceptions::EmptyObject => error
render json: {error: 'No users found'}, status: 404
end