1
我创建了ROR一个支架,以包含元素之间的一些关系独特的对称双验证
+----------------------+
| left | right | score |
+----------------------+
所以,如果我有一个入口a, b, 10
,这意味着从a
到b
的关系是10,但作为左,右,代表了同一种实体的fk's
,我们可以得出结论,从b
到a
的关系也是10
做这样的事情validates_uniqueness_of :left, :scope => [:right]
不会阻止对从表中出现的恢复,像这样:b, a, 10
我想是这样的:
validates_uniqueness_of :left, :scope => [:right]
validates_uniqueness_of :right, :scope => [:left]
可以做的伎俩,但有清洁剂或验证对对称的独特性更合适的方法?
一旦这个答案,工作差不多完成了。
如何防止在两列上出现相同的值?
例如。这样的条目不应该被允许:a, a, 15
感谢您的考虑。
可能的复制[您如何验证在Ruby中对IDS on Rails的唯一性?(http://stackoverflow.com/questions/923796/如何做,你验证唯一性的一对红宝石在轨道上) – infused
@infused我没有看到什么是在dup目标这是不是在问题中。此外,它不处理左右交换。 –