ruby-on-railsdevisebefore-filter

Specify which controllers to exclude from before_filter


I'm using devise for authentication and have some before_filters in my application controller. Issue I'm seeing is that when I try to logout the before_filter intercepts that and keeps me on the view that's I've setup in the before_filter. Is there any way for me to specify which controllers should be excluded from the application controller or some other file?


Solution

  • You can qualify a filter with :only or :except.

    before_filter :filter_name, :except => [:action1, :action2]
    

    Or if the filter (as I now see is the case in your situation) is defined in ApplicationController and you want to bypass it in a subclass controller, you can use a skip_before_filter with the same qualifications in the subclass controller:

    skip_before_filter :filter_name, :except => [:action1, :action2]