2011-01-08 13 views
23

Ahora tengo un modelo de diseño, que utiliza el correo electrónico como authentication_key.¿Cómo usar diferentes authentication_keys para dos modelos de dispositivo?

Quiero agregar un nuevo modelo de dispositivo, que utiliza student_id como authentication_key.

Algunos guía me dice que modificar la configuración

"config.authentication_keys = [correo]:" reemplazando el: e-mail con: student_id.

Después de la modificación, el primer inicio de sesión del modelo siempre falla, así que creo que tengo que indicar diferentes authentication_keys para los dos modelos por separado.

¿Cómo debo hacer?

Respuesta

76

Deberá declarar dentro de sus modelos que son las claves de authentitcation, en lugar de dentro del archivo devise.rb.

class model1 < ActiveRecord::Base 

devise :database_authenticatable, :rememberable, :trackable, :authentication_keys => [:email] 

y por su segundo modelo

class model2 < ActiveRecord::Base 

devise :database_authenticatable, :rememberable, :trackable, :authentication_keys => [:studentid] 

también asegurarse de que comente de devise.rb la configuración config.authentication_keys

+0

Grandes, muchas gracias! – Roy

+2

Roy, si la respuesta es adecuada, no dude en marcarla como una respuesta correcta (¡estoy tratando de construir cierta reputación!). ¡Muchas gracias! – Dimitris

+0

Esto acaba de salvar mi culo al implementar una aplicación que se encuentra encima de Refinery CMS que utiliza Devise para su propia autenticación. ¡Gracias! –

Cuestiones relacionadas