我有一个名为WalksSection
的模型和另一个名为WalkSectionButton
的模型。我已经创建了WalksSection
模型(并完成了迁移)。
现在,我想创建WalkSectionButton
,但要在两个表之间创建两个引用:
walk_sections.id = walk_section_buttons.section_button_id
walk_sections.id = walk_section_buttons.next_section_button_id
第一个是标准的,但另一个(我认为)我需要告诉迁移和模型列名。
所以模型中的标准型号是
belongs_to :WalkSection
并且在迁移中
t.references :WalkSection, foreign_key: true
所以我想我需要在模型和迁移的第二行中指定外键(和主键)名称,但不确定语法。
执行此操作的另一种方法可能是运行迁移以创建第一个引用,然后进行另一次迁移,为第二个foregn键添加列和键。
add_column :walk_section_buttons, :next_section_button_id, :integer
add_foreign_key :walk_section_buttons, :walk_sections, column: :next_section_button_id, primary_key: :id
但不确定要对模型做什么。也许我不需要,但是在WalksSections模型中,我认为我应该添加一个has_many,但是同样需要为第二个字段指定列名。