Rails:验证每个组中至少一条记录的属性存在

时间:2016-06-23 10:21:12

标签: ruby-on-rails validation activerecord rails-activerecord

我正在尝试做类似的事情:

validates :primary_product, presence: { scope: :student_id }

可以有多个行具有相同的student_id。对于所有行的集合(具有相同的student_id),应该存在至少一个primary_product的值。这似乎不起作用。不确定我是否可以使用状态应用范围。

1 个答案:

答案 0 :(得分:0)

您可以使用自定义验证尝试以下操作:

validates :primary_product, if: -> x {
  where.not(primary_product: nil).exists?(student_id: x.student_id)
}