2011-01-08 21 views
23

Artık e-postayı authentication_key olarak kullanan bir modelim var.İki devise modeli için farklı authentication_keys nasıl kullanılır?

student_id öğesini authentication_key olarak kullanan yeni bir model modeli eklemek istiyorum. ile e-posta: student_id değiştirerek:

Bazı kılavuz Yapılandırmayı

"[email] config.authentication_keys =" değiştirmek için söylüyor.

Değişiklik yapıldıktan sonra, ilk model girişi her zaman başarısız olur, bu yüzden iki model için farklı authentication_keys öğelerini ayrı ayrı belirtmem gerektiğini düşünüyorum.

Nasıl yapmalıyım?

cevap

76

Modellerinizin içinde devise.rb dosyasının içinde değil, yetkilendirme anahtarları olan bildirimleri girmeniz gerekecektir.

class model1 < ActiveRecord::Base 

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

ve ikinci model için

da
class model2 < ActiveRecord::Base 

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

Eğer

+0

Büyük config.authentication_keys ayarlarından devise.rb dışarı açıklama emin olun Çok teşekkürler! – Roy

+2

Roy, eğer cevap uygunsa, lütfen doğru bir cevap olarak işaretlemekten çekinmeyin (Ben bir kez daha itibar kazanmaya çalışıyorum!). Çok teşekkürler! – Dimitris

+0

Bu, kendi kimlik doğrulaması için Devise'yi kullanan Rafineri CMS'nin üzerinde oturan bir uygulamayı uygularken kıçımı kurtardı. Teşekkürler! –

İlgili konular