我现在对此用户模型进行了验证:
validates :email,
presence: true,
uniqueness: { :case_sensitive => false }
我想补充:on create
一下唯一性,因为绝对可以允许用户通过放置相同的电子邮件来更新其电子邮件!
我应该这样写吗?恐怕这on:create
也适用于,presence:true
但只应适用于唯一性验证:
validates :email,
presence: true,
uniqueness: { :case_sensitive => false }, on: :create
我想说一些逻辑。电子邮件应该是唯一的,并且用户将通过他的电子邮件进行标识。因此,在更新时,无需将电子邮件字段放在用户可以编辑电子邮件值的位置。您可以将电子邮件字段设为只读,以便用户在更新配置文件时无法更改它。
是的,语法on: :create
是一个不错的解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句