我有一个包含表containers
和ports
的数据库。
containers
表有两列pol_id
和pod_id
,它们都指向ports
表。 ports
表格有id
列。
我尝试在迁移中使用belongs_to / references
,但它没有提供这样的灵活性。
另外,我对为此配置模型感到有些困惑。
答案 0 :(得分:0)
创建迁移时,您可以使用foreign_key
选项来自定义外键:
t.references(:pol, foreign_key: { to_table: :ports })
在您的模型中,您需要告诉ActiveRecord关联指向的类:
class Container
belongs_to :pol, class_name: "Port"
end
创建反向关联时还需要提供外键:
class Port
has_many :containers_as_pol, class_name: "Container", foreign_key: "pol_id"
end