0
在类似这样的关系:导轨:验证与范围的独特性,没有自我指涉协会
class Cat
belongs_to :owner
has_one :pet, class_name: "Cat", foreign_key: "pet_id"
validates :name, uniqueness: { scope: :owner_id }
end
class Owner
has_many :cats
end
我希望每个Cat
属于一个Owner
有一个唯一的名称。例如,鲍勃和约翰(两个所有者)都可以拥有一只名叫比尔的猫,但约翰不能拥有两只名叫比尔的猫。另外,我想让名叫比尔的猫能够拥有一只名叫比尔的猫。这很棘手,因为两个Bill都是Cat模型的一个实例,并且都有owner_id。我如何让名称在业主只有立即在猫级别上是唯一的?