Rails has_many через ассоциацию - PullRequest
       0

Rails has_many через ассоциацию

0 голосов
/ 23 февраля 2020

Компания имеет много местоположений (Местоположение имеет столбец company_id). У местоположения есть много предметов, и у предмета есть много местоположений (таблица присоединения).

company.rb

has_many :locations

location.rb

belongs_to :company
has_many :items, through: :item_locations
has_many :item_locations, :dependent => :destroy

item.rb

has_many :item_locations, :dependent => :destroy
has_many :locations, through: :item_locations

item_location.rb

belongs_to :item
belongs_to :location

Могу ли я получить все товары для компании, не добавляя company_id в Item?

1 Ответ

0 голосов
/ 23 февраля 2020

Конечно, просто измените ваши Company отношения на:

has_many :locations
has_many :item_locations, through: :locations
has_many :items, through: :item_locations

Это должно позволить вам позвонить company.items

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...