Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

264
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda