2013-03-19 2 views
1

я модель под названием «Тачки»Проверка уникальности по двум признакам

Интересно, как я могу объявить в модели, так что только одна запись может существовать, когда два атрибута совпадают друг с другом. Например, в модели автомобиля

:owner_id, :driver_id 

Давайте предположим, что существует запись:

:id => "1", :owner_id => "22", :driver_id => "23", :state => "parked" 

Если я пытаюсь создать еще один рекорд, который также имел тот же owner_id и driver_id, которые соответствовали друг другу, запись не сможет создать себя. Я пытаюсь создать модель отношения, которая создаст одну запись для каждого владельца и драйвера, когда они будут сопоставлены.

ответ

6

В вашей Car модели можно определить проверку:

validates :driver_id, uniqueness: { scope: :owner_id } 

Я считаю, это должно дать вам предполагаемое поведение, будет ошибка проверки, если вы пытаетесь создать еще один автомобиль с тем же водителем и владельцем.

+0

Perfect. Спасибо. – stonep

Смежные вопросы