如何为两个设计模型使用不同的authentication_keys?

时间:2011-01-08 08:18:32

标签: authentication ruby-on-rails-3 models devise

现在我有一个设计模型,它使用电子邮件作为authentication_key。

我想添加一个新的设计模型,它使用student_id作为authentication_key。

一些指南告诉我修改配置

“config.authentication_keys = [:email]”,将:email:替换为:student_id。

修改后,第一个模型登录总是失败,所以我想我必须分别为两个模型指出不同的authentication_keys。

我该怎么办?

1 个答案:

答案 0 :(得分:78)

您必须在模型中声明哪些是authenitcation键,而不是在devise.rb文件中。

class model1 < ActiveRecord::Base

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

和你的第二个模特

class model2 < ActiveRecord::Base

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

还要确保从devise.rb注释掉config.authentication_keys设置