我现在对我的用户模型进行了验证:
validates :email,
presence: true,
uniqueness: { :case_sensitive => false }
我想添加:on create
的唯一性,因为用户肯定可以通过发送相同的电子邮件来更新他们的电子邮件!
我应该这样写吗?我担心on:create
也适用于presence:true
,但它只适用于唯一性验证:
validates :email,
presence: true,
uniqueness: { :case_sensitive => false }, on: :create
答案 0 :(得分:1)
是的,它将适用于您可以对该
使用单独的验证validates :email, presence: true
validates :email, uniqueness: { :case_sensitive => false }, on: :create
答案 1 :(得分:1)
我想说一些逻辑。电子邮件应该是唯一的,用户将通过他的电子邮件识别。因此,在更新时,无需将电子邮件字段放在用户可以编辑电子邮件值的位置。您可以将电子邮件字段设置为只读,以便用户在更新配置文件时无法更改它。
是的,语法on: :create
是一个很好的解决方案。