当使用两个认证密钥与设计时,我如何使组合唯一



现在我有账户&电子邮件作为设备的身份验证密钥,因此登录看起来像:

  • 账户

但问题是,如果一个用户已经在一个帐户下创建,则不可能在不同的帐户下添加另一个用户,因为电子邮件已经被占用了。

我如何设置设备来避免这个问题?

谢谢!克里斯。

您可以删除validatable模块,并单独执行所有验证(您可以在这里看到它们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]

最新更新