Re: Problems w/ before_filter getting ignored

torm3nt
2008-11-05T04:56:53Z

hmmm

I''m just guessing here, but have you tried creating a method in your
ApplicationController called store_location, which then makes the
appropriate module calls?

I''m guessing that ApplicationController can''t see the
store_location
method in your module.



On Nov 5, 3:41 pm, Clem Rock
<rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>
wrote:
> Hello,
>     I''m setting up an authentication module that will be called
from
> application.rb.      I want to save a rrequest.request_uri into a
> session to be used as a place holder that
> will take users back to the page they were on before they logged in.
> I''m trying to call the store_location method for all methods
EXCEPT
> login by putting login in an except before filter.
>
> For some reason, when I login the last request.request_uri address that
> is stored in the session is /login.     For some reason, the
> store_location method is still getting called when the login method is
> called and then throws a "Redirect Loop" message in the brower
>
> Here''s the authentication module code:
> [code]
> module Authentication
>   def store_location
>     session[''return-to''] = request.request_uri
>   end
>
>   def login
>     user = User.find_authenticated_user(params[:username],
> params[:password])
>     unless user.blank? || user.nil?
>       session[:user] = user
>     end
>     redirect_to store_location
>   end
> end
>
> and here''s the code I have so far in application.rb
> [/code]
>
> [code]
> class ApplicationController < ActionController::Base
>
>   before_filter :verify_user, :except => :login
>   before_filter :store_location, :except => :login
>
>   include Authentication
>
>   helper :all # include all helpers, all the time
>   # See ActionController::RequestForgeryProtection for details
>   # Uncomment the :secret if you''re not using the cookie session
store
>   protect_from_forgery #:secret =>
''f2966dd9b280aee941288062544d2aa9''
>
>   def index
>   end
> end
> [/code]
>
> Any ideas how I can make this work?
>
> Thanks,
> Clem
> --
> Posted viahttp://www.ruby-forum.com/.