0

に少なくとも1つのレコードのために存在することを属性。すべての行(同じstudent_id)のセットについては、少なくとも1つの値がprimary_productである必要があります。これはうまくいかないようです。プレゼンスのあるスコープを適用できるかどうかはわかりません。のRails:</p> <pre><code>validates :primary_product, presence: { scope: :student_id } </code></pre> <p>同じ<code>student_id</code>で複数の行が存在することができます:検証は、私のような何かをしようとしている各グループ

+0

は '検証:primary_productを、場合:?STUDENT_ID'?そうでない場合は、より詳細な詳細を教えてください。 – potashin

+0

同じ 'student_id'を持つ複数の行があります。全ての行のセットに対して、少なくとも 'primary_product'の1つの値が存在するはずです。 – Codernx123

答えて

0

あなたは、カスタム検証を使用して、次のことを試すことができます。

validates :primary_product, if: -> x { 
    where.not(primary_product: nil).exists?(student_id: x.student_id) 
} 
関連する問題

 関連する問題