如果我想要模型has_one:model2 , Model2 has_one:model ,我是否必须创建连接表?像 model_model2 之类的东西?然后表格如下:模型(id)和 Model2(id)和 ModelModel2(id,model_id,model2_id)?
答案 0 :(得分:1)
您只需创建关系字段,尾部将:dog_id
,狗将:tail_id
实际上你也可以只使用1个字段来创建它,例如tail会有:dog_id
而这就是全部,然后关系就是
狗有一个尾巴 尾巴属于狗
就是这样。
如果你想尝试两者之间的婚姻表,你需要创建一个联接模型DogTail
class DogTail < ActiveRecord::Base
belongs_to :dog
belongs_to :tail
end
然后创建has_one :through
关系
class Dog < ActiveRecord::Base
has_one :tail, through: :dogtail
end
class Tail < ActiveRecord::Base
has_one :dog, through: :dogtail
end