Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

268
Vistas
¿Cómo agrega valor constante de un modelo de rieles?

Tengo usuarios con muchos roles y quiero marcar esos roles con números o números de prioridad.

Ex:

Administrador - 4

Cliente - 3

Usuario - 2

Invitado - 1

en lugar de agregar una nueva columna en mi tabla de roles que se verá así

identificación nombre número_de_prioridad
1 Administración 4
2 Cliente 3
3 Usuario 2
4 Huésped 1

Me preguntaba si podría hacerlo en mi clase de modelo de roles para no tener que crear una migración a mi tabla y convertirla en un valor constante. ¿Es esto posible?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Debería ser tan simple como:

 class User def priority_num case name when 'Admin' 4 when 'Client' 3 when 'User' 2 when 'Guest' 1 else raise StandardError.new "#{name} does not have a priority_num configured" end end end

Sin embargo, probablemente agregaría la columna yo mismo en caso de que esto se expanda más y para mantenerla consultable sin tener que duplicar las reglas en las herramientas de informes externas.

over 4 years ago · Santiago Trujillo Denunciar

0

Puede usar enum para facilitar la identificación de roles en su modelo sin agregar una nueva migración.

 enum priority_num: {guest: 1, user: 2, client: 3, admin: 4}

User.first.priority_num devolverá "admin"

Puede comparar para verificar si el usuario es administrador de esta manera:

 user.priority_num == "admin"
over 4 years ago · Santiago Trujillo Denunciar

0

@aRtoo

 enum priority_num: {guest: 1, user: 2, client: 3, admin: 4} user = User.first user.read_attribute_before_type_cast(:priority_num)

le da un número entero de estado de enumeración

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda