method
append_around_filter
v2.3.8 -
Show latest stable
- Class:
ActionController::Filters::ClassMethods
append_around_filter(*filters, &block)public
If you append_around_filter A.new, B.new, the filter chain looks like
B#before A#before # run the action A#after B#after
With around filters which yield to the action block, before and after are the code before and after the yield.
2Notes
around_filter - working example
More detailed, working example of usage:
class HomeController < ApplicationController
around_filter :action1, :action2
around_filter do |controller, action|
logger.info "code block before action"
action.call
logger.info "code block after action"
end
def index
logger.info "ACTION"
end
private # filters should not be available for external URL
def action1
logger.info "ACTION1 before yield"
yield "ACTION1"
logger.info "ACTION1 after yield"
end
def action2
logger.info "ACTION2 before yield"
yield "ACTION2"
logger.info "ACTION2 after yield"
end
end
==== Results (in log file):
ACTION1 before yield
ACTION2 before yield
code block before action
ACTION
Rendering home/index
code block after action
ACTION2 after yield
ACTION1 after yield
around_filter code example
This is how it's used:
around_filter do |controller, action|
do_your(:stuff) do
action.call
end
end