Ruby on Rails - проверка уникальной записи, а не только уникальных атрибутов записи

Это может быть очень серьезный вопрос, но я пытаюсь разрешить только уникальные записи для таблицы с именем "Избранное" с атрибутами "lightbulb_id" и "student_id". Я знаю о проверках моделей

class Person < ActiveRecord::Base
  validates_uniqueness_of :user_name
end

Но я хочу проверить уникальность всей записи (поэтому сочетание lightbulb_id а также student_id). Так, lightbulb_id а также student_id может быть продублирован (учащийся может "добавить в избранное" несколько lightbulb_id) и, следовательно, один и тот же student_id может появляться несколько раз в таблице "Избранное" с разными lightbulb_ids. Но конкретная комбинация не должна дублироваться (студент не может дважды использовать лампочку)

Это может быть очень простой вопрос, любые предложения будут оценены. Благодарю.

1 ответ

Вы можете попробовать следующее правило проверки:

validates_uniqueness_of :student_id, scope: [:lightbulb_id]
Другие вопросы по тегам