2011-01-08 3 views
23

Maintenant, j'ai un modèle d'invention, qui utilise le courrier électronique en tant que authentication_key.Comment utiliser différents authentication_keys pour deux modèles d'appareil?

Je souhaite ajouter un nouveau modèle de machine qui utilise student_id en tant que authentication_key.

Certains guide me dit de modifier la configuration

"config.authentication_keys = [:] email" en remplaçant le: email avec: student_id. Après modification, la première connexion du modèle échoue toujours, donc je pense que je dois indiquer des clés d'authentification différentes pour les deux modèles séparément.

Comment faire?

Répondre

76

Vous devrez déclarer à l'intérieur de vos modèles les clés d'authentification, plutôt que dans le fichier devise.rb.

class model1 < ActiveRecord::Base 

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

et pour votre deuxième modèle

class model2 < ActiveRecord::Base 

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

également vous assurer que vous commentez de devise.rb les paramètres config.authentication_keys

+0

Great, Merci beaucoup! – Roy

+2

Roy, si la réponse est appropriée alors s'il vous plaît n'hésitez pas à le marquer comme une réponse correcte (j'essaie de construire une certaine réputation!). Merci beaucoup! – Dimitris

+0

Cela vient de sauver mon cul tout en mettant en œuvre une application qui se trouve sur Refinery CMS qui utilise Devise pour sa propre authentification. Merci! –

Questions connexes