Вот простой модуль, который позволяет выполнять произвольный код после полного набора before_filters. Проделав небольшую работу, вы, вероятно, могли бы это почистить, чтобы здесь выполнялась специальная очередь after_before_filters
(с соответствующим поведением остановки и т. Д.).
module OneLastFilterModule
def self.included(base)
base.class_eval do
def perform_action_without_filters_with_one_last_filter
#
# do "final" before_filter work here
#
perform_action_without_filters_without_one_last_filter
end
alias_method_chain :perform_action_without_filters, :one_last_filter
end
end
end
Обратите внимание, что вы должны быть осторожны с этим, так как сами контроллеры могут делать предположения о порядке фильтрации на основе порядка объявления.