とLabellings
に属するものがEmails
ありLabels
ます。
各ラベルは、電子メールとラベルのペアに固有である必要があります。そのため、電子メールに「テスト」のラベルを付けることができるのは1回だけです。
私はこれをでやっていvalidates_uniqueness_of :label_id, :scope => :email_id
ます。これは期待どおりに機能します。
メールにラベルを付けるときに、一意のラベルを追加したいのですが、メールにすでにそのラベルが付けられている場合は何もしません。
次のようなものでアプリの検証機能を複製したくありません。
email.labels << label unless email.labels.include?(label)
手動でチェックしたり例外を処理したりせずに、各ラベリングに一意のemail_id / label_idペアがあることを確認することは可能ですか?