La suya es mi application.rbRoR | Idear bucle de redireccionamiento debido cancán autorizar
class ApplicationController < ActionController::Base
protect_from_forgery
rescue_from CanCan::AccessDenied do |exception|
flash[:error] = "You must first login to view this page"
session[:user_return_to] = request.url
redirect_to "https://stackoverflow.com/users/sign_in"
end
end
Esto redirigir el uso de la página de inicio de sesión si el AccessDenied es un tiro y el usuario no está conectado ("funciona muy bien"), pero una vez que haya iniciado sesión provocará un bucle de redireccionamiento si está conectado pero no autorizado por cancan, ya que la página de inicio de sesión simplemente los redireccionará al usuario de vuelta a través de la sesión [: user_return_to] = request.url.
La pregunta es: ¿cómo puedo manejar esta lógica si el usuario está conectado pero no autorizado.
si utiliza el dispositivo para la autenticación puede verificar 'current_user' si el usuario está conectado o no – krichard