ruby on rails - cancancan - Diseñar el enrutamiento basado en roles
devise authentication (1)
En lugar de manejarlo en rutas, ¿por qué no manejarlo en ApplicationController?
#application_controller.rb
before_filter :direct_to
def direct_to
if current_user.role == "client"
redirect_to client_controller_path
# etc
end
Tengo una aplicación con múltiples usuarios. Cada usuario como un rol teórico (usuario, cliente, etc.). Diseñé una vista / controlador para cada tipo de usuario.
Quiero poder iniciar sesión en cada tipo de usuario hacer una url raíz diferente y bloquearlos en ella.
Originalmente, iba a agregar una columna a los usuarios en la función denominada Devise y para poder diferenciar a los usuarios. El problema que tengo es cómo decir en routes.rb if current_user.role == "client" root: to => ''controller # index''
Una vez que inician sesión en la página, también quiero evitar que puedan visitar cualquiera de mis otras rutas, es decir: domain.com/calls domain.com/units
He estado buscando en cancan para ejecutar junto a Devise, pero no estoy seguro de si esta es la respuesta.