2011-07-24 21 views
12

Qué versión de authlogic usan las personas con Rails 3.1.Authlogic Rails 3.1

que tienen la siguiente entrada en mi Gemfile:

gem 'authlogic', :git => 'https://github.com/AndreasWurm/authlogic.git' 

El problema que tengo es con un pedazo de código en mi ApplicationController base.

def require_no_user 
    if current_user 
    store_location 
    flash[:notice] = "You must be logged out to access this page" 
    redirect_to :controller => "home", :action => "index" 
    return false 
    end 
end 

def store_location 
    session[:return_to] = request.request_uri 
end 

El error que estoy recibiendo es con la línea:

session[:return_to] = request.request_uri 

estoy recibiendo un error que dice:

undefined method `request_uri' for #<ActionDispatch::Request:0x7dadd4d8> 

Ha REQUEST_URI sido retirados de ActionDispatch y si es así, lo que es la alternativa correcta?

Respuesta

7

fullpath le dará url (pero sin protocolo, puerto, dominio) con params y request.url le dará todo lo que fullpath saltos

30

la mejor solución es que dijeron Vadim, utilizando los nuevos métodos en ActionDispatch :: solicitud:

Usted acaba de cambiar:

def store_location 
    session[:return_to] = request.request_uri 
end 

por:

def store_location 
    session[:return_to] = request.url 
end 

y listo!

+0

Esto funciona increíble! Buen trabajo Kzu. – Nizzy