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

504
Vistas
Devise Gem te permite tener varios modelos registrados al mismo tiempo, ¿qué significa eso?

Soy nuevo en Rails y me encontré con esta gema de diseño. ¿Puede decir qué significa esta línea "gema de diseño le permite tener varios modelos firmados"?

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

0

Devise se basa en la gema Warden, que es la parte que realmente hace el trabajo duro de autenticar a los usuarios y almacenar las reclamaciones en la sesión.

Warden acepta un argumento de alcance tanto al almacenar usuarios en la sesión como al recuperarlos. Un ejemplo muy simplificado del concepto es que:

 # This code won't actually run as Warden is used as part of the # rack stack when dealing with HTTP requests warden = env['warden'] admin = Admin.create!(email: 'user@example.com', password: 'p4ssword') user = User.create!(email: 'user@example.com', password: 'p4ssword') warden.set_user(admin, scope: :admin) warden.set_user(user, scope: :user) warden.authenticate(:password, :admin).user == admin warden.authenticate(:password, :user).user == user

Lo que sucede cuando llama a warden.set_user(admin, scope: :admin) es que guarda la identificación del registro en la sesión y usa el alcance como parte de la clave para que pueda almacenar diferentes identificaciones para diferentes alcances. Por lo tanto, tener "diferentes usuarios registrados al mismo tiempo".

Devise en realidad establece los alcances de Warden en función de los argumentos pasados a devise_for en su archivo de rutas. Si llama a devise_for :users entonces el alcance es :user .

Esta no es realmente una función que necesite usar o conocer como principiante, ya que de todos modos solo está usando un solo alcance la mayor parte del tiempo.

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