我正在研究具有状态列(活动或已删除)的模型
现在,我有这样的唯一性验证
validates :name, :uniqueness => {:scope => :user_id }
我只想为 ACTIVE 记录添加另一个“范围”。有点像下面的验证(不起作用)
validates :name, uniqueness: {scope: :user_id }, condition: ['state = ?', 'active']
如果我将在 SQL 语句中进行验证,它将是如下所示的“某些东西”:
SELECT COUNT(*) FROM table_name WHERE name = '[name]' AND status = 'active'
此问题的一种解决方案是添加默认范围,但在我的情况下,我不需要默认范围。