Soy nuevo en los rieles, y estoy trabajando en mi segunda aplicación de rieles.Estructura de modelo de rieles para usuarios
La aplicación tendrá diferentes roles para los usuarios, pero algunos usuarios tendrán múltiples roles.
Cada usuario del sitio será un artista. Algunos usuarios tendrán el rol de moderador.
¿Cómo estructuraría esto? En algunas aplicaciones PHP que he usado, solo hay un usuario, y luego una columna de base de datos para is_admin, etc. Pero he consultado la fuente de las aplicaciones de rails y he visto modelos separados para Usuario y Administrador, etc. aunque No estoy seguro por qué.
Entonces, ¿debería tener un único modelo de usuario con un atributo de función, que podría ser Moderador, y luego simplemente llamar a los usuarios "Artistas" en mis vistas, rutas, etc.?
¿O debería tener un modelo de usuario, un modelo de moderador que herede de él y un modelo de artista que pertenezca al usuario?
Estoy muy confundido.
Esto hubiera sido mi sugerencia. Lo que me gusta de este enfoque es que fomenta la separación de la política comercial del resto de la lógica de la aplicación. –
Sí, esta separación brinda buenas y flexibles habilidades. Lo utilicé en el único proyecto, donde los desarrolladores crearon un sistema de autenticación muy incómodo, donde para agregar nuevos roles y habilidades tuve que escribir mucho código en cada controlador y modelo. Pasé mucho tiempo eliminando el viejo sistema y cerca de dos horas para instalar y configurar Devise y CanCan. Ahora estoy feliz. Y cuando tenga tiempo libre, planeo escribir una interfaz de usuario para administrar roles y habilidades. Con estos sistemas, esta tarea se ha vuelto sencilla. –
lo hemos usado en varias aplicaciones y también encontramos que la combinación de idear-cancán es el enfoque 'mejor de las razas'. Se está adoptando rápidamente por muchas organizaciones como estándar de este año para autenticación/autorización. –