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]