如何从包含许多记录的集合中验证单个主记录?

时间:2015-09-30 14:07:43

标签: ruby-on-rails validation

在Rails应用程序中,我有一个team模型,一个团队有很多members。成员模型具有is_primary_contact布尔字段。一个团队可以拥有0或1个主要联系团队成员。我有点担心如何编写验证规则以强制执行此限制。应该在team还是member

1 个答案:

答案 0 :(得分:1)

这样做的一种方法是在member模型上进行简单验证,验证该字段的唯一性。你做的只是在它是真的情况下验证这个,所以像

class Member < ActiveRecord::Base
  validates_uniqueness_of :is_primary_contact, if: is_primary_contact?
end

我还没有测试过这段代码所以请试一试,但它应该涵盖你所追求的内容:)