This is a misuse of skip_before_filter .
To apply the require_login filter exclusively to [:create,:new,:accept] actions and skip the filter for others, you must first apply the filter:
before_filter :require_login
Then you must specify the rails to skip this filter except for the actions "create, new and accept".
skip_before_filter :require_login, :except => [:create,:new,:accept]
you can also use skip_filter , which allows you to enable filters before_filter , after_filter and around_filter :
skip_filter :require_login, :except => [:create,:new,:accept]
Link: Rails 3.2 Guide
In Rails 4.0, equivalent methods are: before_action and: skip_before_action.
Link: Rails 4.0 Guide
Douglas
source share