2013-03-19 77 views
1

验证的唯一我有一个模型命名为“汽车”两个属性

我不知道如何可以在模型中声明,这样当两个属性相互匹配只能存在一个记录。例如,在汽车模型

:owner_id, :driver_id 

比方说,一个记录存在:

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

如果我试图创造另一个纪录,也有同样的owner_iddriver_id是相互匹配,记录将无法创造自己。我试图建立一个关系模型,当它们匹配时,它将为每个所有者和驱动程序创建一个记录。

回答

6

在你Car模型,你可以定义验证:

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

我相信这应该给你预期的行为,将有一个验证错误,如果你尝试创建具有相同的驱动程序和所有者另一辆车。

+0

完美。谢谢。 – stonep 2013-03-20 22:37:49