rails 调度事件?

rails dispatch event?

首先,我对 gemsengines 是全新的(嗯。ruby); 我正在写一个方便的 engine 它将根据用户(开发人员)定义的 rules 过滤请求,目前我的方法如下:

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception

  before_action { Acu::Monitor.new request }
end

它就像一个魅力,但我希望引擎是即插即用的,用户只需最少的配置,无论如何我可以实现这个吗?
我可以在 dispatch 和 controller 之间的任何地方验证请求吗? rails中是否有类似pre-dispatch-event的东西?

如果有人能帮助我,我将不胜感激,我已经厌倦了 google 这个,有点 运行 没法写了! :D


更新:

请求必须处理,即目标 controller/action 需要由 rails 确定,然后我正在处理请求。

我找到了答案,正是我要找的instrumentation

ActiveSupport::Notifications.subscribe "start_processing.action_controller" do |**args|
  # your own custom stuff
end

这样# your own custom stuff会在before_action之前开火!