Module ActionController::Filters::ClassMethods
In: vendor/rails/actionpack/lib/action_controller/filters.rb

Methods

Public Instance methods

after_filter(*filters, &block)

The passed filters will be appended to the array of filters that run after actions on this controller are performed.

[Source]

     # File vendor/rails/actionpack/lib/action_controller/filters.rb, line 461
461:       def append_after_filter(*filters, &block)
462:         filter_chain.append_filter_to_chain(filters, :after, &block)
463:       end

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.

[Source]

     # File vendor/rails/actionpack/lib/action_controller/filters.rb, line 484
484:       def append_around_filter(*filters, &block)
485:         filter_chain.append_filter_to_chain(filters, :around, &block)
486:       end

The passed filters will be appended to the filter_chain and will execute before the action on this controller is performed.

[Source]

     # File vendor/rails/actionpack/lib/action_controller/filters.rb, line 446
446:       def append_before_filter(*filters, &block)
447:         filter_chain.append_filter_to_chain(filters, :before, &block)
448:       end
around_filter(*filters, &block)
before_filter(*filters, &block)

Returns an array of Filter objects for this controller.

[Source]

     # File vendor/rails/actionpack/lib/action_controller/filters.rb, line 536
536:       def filter_chain
537:         if chain = read_inheritable_attribute('filter_chain')
538:           return chain
539:         else
540:           write_inheritable_attribute('filter_chain', FilterChain.new)
541:           return filter_chain
542:         end
543:       end

The passed filters will be prepended to the array of filters that run after actions on this controller are performed.

[Source]

     # File vendor/rails/actionpack/lib/action_controller/filters.rb, line 467
467:       def prepend_after_filter(*filters, &block)
468:         filter_chain.prepend_filter_to_chain(filters, :after, &block)
469:       end

If you prepend_around_filter A.new, B.new, the filter chain looks like:

  A#before
    B#before
      # run the action
    B#after
  A#after

With around filters which yield to the action block, before and after are the code before and after the yield.

[Source]

     # File vendor/rails/actionpack/lib/action_controller/filters.rb, line 498
498:       def prepend_around_filter(*filters, &block)
499:         filter_chain.prepend_filter_to_chain(filters, :around, &block)
500:       end

The passed filters will be prepended to the filter_chain and will execute before the action on this controller is performed.

[Source]

     # File vendor/rails/actionpack/lib/action_controller/filters.rb, line 452
452:       def prepend_before_filter(*filters, &block)
453:         filter_chain.prepend_filter_to_chain(filters, :before, &block)
454:       end

Removes the specified filters from the after filter chain. Note that this only works for skipping method-reference filters, not procs. This is especially useful for managing the chain in inheritance hierarchies where only one out of many sub-controllers need a different hierarchy.

You can control the actions to skip the filter for with the :only and :except options, just like when you apply the filters.

[Source]

     # File vendor/rails/actionpack/lib/action_controller/filters.rb, line 521
521:       def skip_after_filter(*filters)
522:         filter_chain.skip_filter_in_chain(*filters, &:after?)
523:       end

Removes the specified filters from the before filter chain. Note that this only works for skipping method-reference filters, not procs. This is especially useful for managing the chain in inheritance hierarchies where only one out of many sub-controllers need a different hierarchy.

You can control the actions to skip the filter for with the :only and :except options, just like when you apply the filters.

[Source]

     # File vendor/rails/actionpack/lib/action_controller/filters.rb, line 511
511:       def skip_before_filter(*filters)
512:         filter_chain.skip_filter_in_chain(*filters, &:before?)
513:       end

Removes the specified filters from the filter chain. This only works for method reference (symbol) filters, not procs. This method is different from skip_after_filter and skip_before_filter in that it will match any before, after or yielding around filter.

You can control the actions to skip the filter for with the :only and :except options, just like when you apply the filters.

[Source]

     # File vendor/rails/actionpack/lib/action_controller/filters.rb, line 531
531:       def skip_filter(*filters)
532:         filter_chain.skip_filter_in_chain(*filters)
533:       end

[Validate]