从同一模型向Rails模型添加2个引用

时间:2019-03-17 22:09:23

标签: ruby-on-rails

我有一个名为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,但是同样需要为第二个字段指定列名。

0 个答案:

没有答案