【发布时间】:2016-06-16 19:03:23
【问题描述】:
我有一个 ActiveRecord 对象,它有四个 String 列。我想进行验证,以验证某个值在所有四列中是唯一的。例如,假设有问题的四列命名为a、b、c 和d:
FooObject.new( a: 'bar' ).save!
应该会成功,但是
FooObject.new( b: 'bar' ).save!
应该会失败,因为已经有一个 FooObject 其值 a、b、c 或 d 与为 b 输入的值匹配。是否有一种简洁、干净的方式来完成对对象的验证?谢谢!
【问题讨论】:
-
@potashin 我正在尝试做的事情略有不同 - 该示例表明列的组合不应该是唯一的。我正在尝试做的是确保任何两行的上述列的 any 中不会同时存在一个值。这有意义吗?
标签: ruby-on-rails validation activerecord rails-activerecord