【发布时间】:2019-04-12 07:12:38
【问题描述】:
我想在唯一性验证上添加一个位置。
这样就错了:
validates :identifier_number, uniqueness: true, if: :is_active?
仅在我要验证的记录处于活动状态时验证。
我想要“这样的东西”:
validates :identifier_number, uniqueness: proc { where is_active: true }
验证每条记录,无论是否处于活动状态,但仅针对“活动”记录。因此,两个非活动记录可以具有相同的 identifier_number,但没有记录可以具有与任何活动记录相同的 indentifier_number。
【问题讨论】:
-
我认为您需要稍微澄清一下您的问题。您只想针对活动的记录进行验证。我知道它写在那里,但也许你需要添加一个例子来澄清。
-
我将您的问题编辑得更清楚一些并添加了答案,希望我理解正确。
标签: ruby-on-rails validation activerecord