我有两种不同的设计模型。我想知道,我怎样才能确保两个表没有相同的电子邮件?对此方向的任何帮助表示赞赏。
我在想也许我可以覆盖控制器方法,但是?
谢谢
我有两种不同的设计模型。我想知道,我怎样才能确保两个表没有相同的电子邮件?对此方向的任何帮助表示赞赏。
我在想也许我可以覆盖控制器方法,但是?
谢谢
恐怕唯一性约束适用于限制模型及其属性范围。我仍然通过 API 检查是否存在替代方案;但找不到。
基于此,我认为您应该为此编写自己的自定义验证方法。
validate :email, :with_user_emails
def with_user_emails
if User.pluck(:email).any? { |user_email| user_email.eql? email.downcase }
errors.add(:email, "Same email id present in User database")
end
end
我知道这在性能上肯定很差并且没有优化。希望看到专家的好解决方案:)