【发布时间】:2021-12-07 03:42:28
【问题描述】:
所以我有以下情况。我想创建一个新用户,但我希望它的电子邮件是唯一的。所以我有以下验证
def uniq_email
errors.add(:email, "Already existing User with email: #{email}") if
User.exists?(email: email)
end
这很好用。问题是当我想更新这个用户时,如果我尝试用一个已经存在的电子邮件来更改它,它允许我这样做。 我尝试在验证中添加 [:create, :update] 但是如果我这样做了,例如当我更改它的地址时,它会再次在模型上运行验证并告诉我使用该电子邮件的用户已经存在。 有什么帮助吗?我怎样才能避免这种情况?
谢谢你:D
【问题讨论】:
标签: ruby-on-rails postgresql validation