Ruby on rails 在Rails引擎中添加救援响应?
我有两个自定义异常,我正试图添加到引擎中的Ruby on rails 在Rails引擎中添加救援响应?,ruby-on-rails,ruby-on-rails-4,ruby-on-rails-5,Ruby On Rails,Ruby On Rails 4,Ruby On Rails 5,我有两个自定义异常,我正试图添加到引擎中的Rails.application.config.action\u dispatch.rescue\u responses config.action_dispatch.rescue_responses.merge!({ 'Exceptions::Unauthorized' => :unauthorized, 'Exceptions::Forbidden' => :forbidden }) 上述方法在应用程序中运行良好,但当我将其放
Rails.application.config.action\u dispatch.rescue\u responses
config.action_dispatch.rescue_responses.merge!({
'Exceptions::Unauthorized' => :unauthorized,
'Exceptions::Forbidden' => :forbidden
})
上述方法在应用程序中运行良好,但当我将其放入引擎的初始值设定项中时:
Rails.application.config.action_dispatch.rescue_responses.merge!({
'Exceptions::Unauthorized' => :unauthorized,
'Exceptions::Forbidden' => :forbidden
})
它被忽略了。我假设是因为引擎的初始化器在Rails设置rescue\u响应之前运行?有什么不同的想法吗?配置、动作、调度、救援、响应值只会暂时使用。如果查看,它将合并到初始化程序块中的
ActionDispatch::ExceptionWrapper.rescue\u responses
,在任何初始化程序脚本之前进行评估:-(
如果您查看例如ActiveRecord,他们会在
Railtie
文件中设置它:在应用程序初始值设定器中调整ActionDispatch::ExceptionWrapper.rescue\u responses
。这是配置值的结尾,此行为在中得到确认
但对于库,它的railtie应该附加到config.action\u dispatch.rescue\u responses