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