使用带有设计的2个身份验证密钥时,如何使组合唯一?

时间:2011-12-13 17:09:35

标签: ruby-on-rails-3 devise

所以,目前我还有账户&发送电子邮件作为设计的身份验证密钥,因此登录信息如下:

  • 帐户
  • 电子邮件
  • 密码

问题是,如果用户已经在一个帐户下创建,则无法在另一个帐户下添加另一个用户,因为电子邮件已被删除。

如何设置设计以避免此问题?

谢谢! 克里斯

1 个答案:

答案 0 :(得分:1)

您可以删除可验证的模块,并自行执行所有验证(您可以在此处https://github.com/plataformatec/devise/blob/master/lib/devise/models/validatable.rb查看),更改行:

validates_uniqueness_of :email, :allow_blank => true, :if => :email_changed?

validates_uniqueness_of :email, :allow_blank => true, :if => :email_changed?, :scope => [:account]