我有两种不同的设计模型。我想知道,我怎样才能确保这两个表没有相同的电子邮件?感谢这方面的任何帮助。
我想也许我可以覆盖控制器方法,但是?
由于
答案 0 :(得分:1)
我担心,唯一性约束适用于约束模型及其属性范围。我仍然通过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
我知道肯定性能不好而且没有优化。很想看到专家提出的好解决方案:)