2011-01-08 10 views
23

Ora ho un modello di sviluppo, che utilizza l'e-mail come chiave_autenticazione.Come utilizzare diversi authentication_keys per due modelli di sviluppo?

Desidero aggiungere un nuovo modello di dispositivo, che utilizza student_id come authentication_key.

Alcuni guida mi dice di modificare la configurazione

"config.authentication_keys = [email:]" sostituendo il: e-mail con: student_id.

Dopo la modifica, il primo accesso al modello non riesce sempre, quindi penso di dover indicare diversi authentication_keys per i due modelli separatamente.

Come devo fare?

risposta

76

Dovrai dichiarare all'interno dei tuoi modelli quali sono i tasti di authenitcation, piuttosto che all'interno del file devise.rb.

class model1 < ActiveRecord::Base 

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

e per il secondo modello

class model2 < ActiveRecord::Base 

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

anche fare in modo che si commento dalla devise.rb le impostazioni config.authentication_keys

+0

Grandi, grazie mille! – Roy

+2

Roy, se la risposta è adatta, non esitare a contrassegnarla come risposta corretta (sto cercando di creare una certa reputazione!). Grazie molto! – Dimitris

+0

Questo mi ha appena salvato il culo mentre implementavo un'applicazione che si trova in cima al CMS di Refinery che utilizza Devise per la propria autenticazione. Grazie! –

Problemi correlati