Para la aplicación que estoy escribiendo, estoy usando autenticación simple hecha a mano (como se describe en Railscast.com). Usando algún código de la gema NiftyGenerators de Ryan Bates, tengo un modelo de autenticación que tiene algunos métodos útiles para la autenticación. Este módulo está incluido en application_controller.rb
.Redirigir a la URL anterior después del inicio de sesión - Rieles
Uno de los métodos que deseo utilizar se llama redirect_to_target_or_default
. Sé que esto es lo que necesito para redirigir a un usuario a la página en la que estaban una vez que se hayan autenticado, pero no sé a dónde debo llamar a este método. Si alguien pudiera darme una idea sobre cómo usar este método, lo agradecería enormemente.
ControllerAuthenticaion módulo de código
module ControllerAuthentication
# Makes these methods helper methods in the controller that includes this module.
def self.included(controller)
controller.send :helper_method,
:current_admin, :logged_in?,
:redirect_to_target_or_default
end
def current_admin
@current_admin ||= Admin.find(session[:admin_id]) if session[:admin_id]
end
def logged_in?
current_admin
end
def login_required
unless logged_in?
store_target_location
redirect_to login_url,
:alert => "You must first log in before accessing this page."
end
end
def redirect_to_target_or_default(default, *args)
redirect_to(session[:return_to] || default, *args)
session[:return_to] = nil
end
def redirect_to_or_default(target, *args)
redirect_to(target || default, *args)
end
def store_target_location
session[:return_to] = request.url
end
end
Exactamente lo que estaba buscando! ¡Gracias! – agentbanks217