我有一个模型,它具有三个属性,包括一个状态属性:
RailsModel:
attribute1
attribute2
state
我想在属性 2 的范围内验证属性 1 的唯一性:
validate :attribute1, uniqueness: { scope: :attribute2 }
但是,我不想检查 state = :canceled 的任何 RailsModels
有没有一种简单的方法来添加这个条件或者我需要编写一个自定义验证?
我有一个模型,它具有三个属性,包括一个状态属性:
RailsModel:
attribute1
attribute2
state
我想在属性 2 的范围内验证属性 1 的唯一性:
validate :attribute1, uniqueness: { scope: :attribute2 }
但是,我不想检查 state = :canceled 的任何 RailsModels
有没有一种简单的方法来添加这个条件或者我需要编写一个自定义验证?
您可以使用 if 条件:
validate :attribute1, uniqueness: { scope: :attribute2 }, :if => "state == canceled"
那里有很多可能性,只需检查指南!