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。我如何讓名稱在業主只有立即在貓級別上是唯一的?