Вам нужна связь между многими, Opportunity
и Section
, для этого вам нужно создать соединительную таблицу между ними, создать миграцию
create_table :opportunities_sections, id: false do |t|
t.belongs_to :opportunity
t.belongs_to :section
end
Затем в * Модель 1006 *, добавьте эту строку
has_and_belongs_to_many :sections
В модели Section
добавьте эту строку
has_and_belongs_to_many :opportunities
Наконец, удалите столбец section_id
из таблицы opportunities
.
Более подробная информация о has_and_belongs_to_many
ассоциации здесь
https://guides.rubyonrails.org/association_basics.html#the -на-и-принадлежит-многим-ассоциации
Вы также можете достичь many-to-many
ассоциация через has_many through
ассоциация, основная c разница между has_and_belongs_to_many
и has_many through
в том, что вы можете создать класс модели для соединительной таблицы, таким образом вы получите больше гибкости в плане сохранения любых дополнительных данных с помощью соединения , Более подробная информация здесь
https://guides.rubyonrails.org/association_basics.html#the -на много-через-ассоциацию
Что выбрать?
https://guides.rubyonrails.org/association_basics.html#choosing -в промежутке -х-много-через-и-имеет-и-принадлежит-многим
Направляющие Rails получили все ответы!