method
append_around_filter
v1.1.6 -
Show latest stable
-
2 notes -
Class: ActionController::Filters::ClassMethods
- 1.0.0 (0)
- 1.1.6 (0)
- 1.2.6 (-21)
- 2.0.3 (0)
- 2.1.0 (1)
- 2.2.1 (0)
- 2.3.8 (0)
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.0
- 6.1.3.1
- 6.1.7.7
- 7.0.0
- 7.1.3.2
- 7.1.3.4
- What's this?
append_around_filter(*filters)
public
The passed filters will have their before method appended to the array of filters that’s run both before actions on this controller are performed and have their after method prepended to the after actions. The filter objects must all respond to both before and after. So if you do append_around_filter A.new, B.new, the callstack will look like:
B#before A#before A#after B#after
Register or
log in
to add new notes.
hipertracker -
August 7, 2008 - (>= v2.1.0)
6 thanks
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
mutru -
July 4, 2008
2 thanks
around_filter code example
This is how it’s used:
around_filter do |controller, action| do_your(:stuff) do action.call end end