将具有特定范围的唯一性验证添加到软删除模型Dog时,例如:

validates :dog_id , uniqueness: { scope: :owner_id }

如果使用软删除,则此验证失败。可以如下解决

Uniqueness validations with scope include soft deleted records

validates :dog_id, uniqueness: { scope: :owner_id, conditions: -> { where(deleted_at: nil) } }

仅仅作为condition验证

validates :dog_id, uniqueness: { conditions: -> { where(deleted_at: nil) } }
0条评论 顺序楼层
请先登录再回复