Class filter: cannot call protected controller methods


#1

Greetins all,

I’m rewriting a filter from the method form to a class filter.(see
below)

Problem: some controller - redirect_to - and route - *_url - methods are
protected (redirect_to, f.ex.), and cannot be called.

Is this intended?
Is there a solution workaround?

TIA

Alain

BEFORE:

before_filter   :login_required, :except => [:welcome,:login]
def login_required
    unless current_user
        session[:jumpto]  = request.parameters
        redirect_to login_invite_url
    end
end

AFTER (does not compile)

class AuthenticationFilter
    def self.filter(controller)

        login_required = 

[‘welcome’,‘login’].include?(controller.action_name)
if login_required && !controller.current_user
controller.session[:jumpto] =
controller.request.parameters
controller.redirect_to controller.login_invite_url
<<<<------- ERROR : DOES NOT COMPILE !!
end
end
end
before_filter AuthenticationFilter