我的模型有三个属性,包括状态属性:
RailsModel:
attribute1
attribute2
state
我想验证attribute2范围内attribute1的唯一性:
validate :attribute1, uniqueness: { scope: :attribute2 }
但是,我不想检查任何状态=:已取消
的RailsModels是否有一种简单的方法可以添加此条件,还是需要编写自定义验证?
答案 0 :(得分:0)
您可以使用if条件:
validate :attribute1, uniqueness: { scope: :attribute2 }, :if => "state == canceled"
那里有很多种可能性,只需查看Guides!