1

我有一个名为“汽车”的模型

我想知道如何在模型中声明,以便两个属性相互匹配时只能存在一条记录。例如,在汽车模型中

:owner_id, :driver_id

假设存在一条记录:

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

如果我尝试创建另一条记录,该记录也具有相同owner_iddriver_id彼此匹配,则该记录将无法自行创建。我正在尝试创建一个关系模型,当它们匹配时,将为每个所有者和驱动程序创建一个记录。

4

1 回答 1

8

在您的Car模型中,您可以定义验证:

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

我相信这应该会给您预期的行为,如果您尝试使用相同的驾驶员和所有者创建另一辆车,则会出现验证错误。

于 2013-03-19T23:47:14.910 回答