在我的Rails 4应用程序中,我有一个电子邮件字段。我的模型确保使用以下内容不存储重复值:
validates :email, presence: true, uniqueness: { case_sensitive: false }
这对我很有帮助,而我并不担心确认电子邮件地址,但现在我想在他们登录之前确认一下。这意味着如果另一个字段confirmed
为真,我只想确认唯一性。
是否有内置的方法可以解决这个问题,还是需要我自己的验证规则?
答案 0 :(得分:1)
您可以将记录集等选项传递给唯一性验证器,如下所示:
validates_uniqueness_of :email, conditions: -> { where(confirmed: true) }
然后它只会强制确认记录的唯一性。
答案 1 :(得分:0)