检查两种不同设计模型中的电子邮件重复。也许覆盖控制器方法?

时间:2013-05-16 17:39:45

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

我有两种不同的设计模型。我想知道,我怎样才能确保这两个表没有相同的电子邮件?感谢这方面的任何帮助。

我想也许我可以覆盖控制器方法,但是?

由于

1 个答案:

答案 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

我知道肯定性能不好而且没有优化。很想看到专家提出的好解决方案:)