我正在尝试为整个应用程序构建错误模块。我在lib / error目录中创建了一个error_handler.rb并添加了
config.eager_load_paths << Rails.root.join('lib')
在config / application.rb中。
error_handler.rb
module Error
module ErrorHandler
def self.included(klass)
klass.class_eval do
rescue_from ::ActiveRecord::RecordNotFound do |e|
respond(:record_not_found, 404, e.to_s)
end
rescue_from ::StandardError do |e|
respond(:standard_error, 500, e.to_s)
end
end
end
private
def respond(_error, _status, _message)
json = Helpers::Render.json(_error, _status, _message)
render json: json
end
end
end
我已将此模块包含在ApplicationController中
include Error::ErrorHandler
但是每当我尝试遇到任何错误时,控制台都会抛出
LoadError (Unable to autoload constant Error::ErrorHandler, expected /Users/username/path/lib/error/error_handler.rb to define it):
Error during failsafe response: Unable to autoload constant Error::ErrorHandler
有人可以帮我吗?谢谢