我有两张table:
Dogs
- id (primary key)
Cats
- id (primary key)
字符串
我想介绍第三个表,比如Collars
,狗和猫都有:
Collars:
- id (primary key)
- size
型
通常情况下,如果只是Dog -> Collar模型关联,我可以创建has_one
关系,默认主键id
关系将被解析。
class Dog < ActiveRecord:Base
has_one :collar
end
dog.collar.size = "XL"
型
然而,由于我有2个模型(狗和猫),我不确定如何解决这种关联,因为狗和猫表可以有重复的id
值。所以has_one
与主键福尔斯的关系破裂。
class Dog < ActiveRecord:Base
has_one :collar
end
class Cat < ActiveRecord:Base
has_one :collar
end
# Dog Record - id: 1
# Cat Record - id: 1
# 2 separate tables allow for duplicate primary keys, so it would be impossible to resolve
dog.collar.size = "XL"
cat.collar.size = "S"
型
有没有一种方法可以使这种关系与活动记录关联一起工作?
1条答案
按热度按时间nfeuvbwi1#
只是一个建议:直接添加大小的狗和猫表,因为它需要更少的空间比一个全新的表和不太复杂
belongs_to
可以帮助您