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) } }