Как лучше всего соединять таблицу с несколькими другими таблицами, где у каждой есть отношение многие ко многим? - PullRequest
0 голосов
/ 12 марта 2020

У меня есть блог rails, с базой данных PostgreSQL, где у меня есть модель Post и модель PodcastNote. Я хочу добавить модель 'Tag', где tags может быть для posts и podcast_notes. В обоих случаях это будут отношения «многие ко многим». Мой вопрос заключается в том, как лучше всего справиться с этим?

Я могу придумать 2 способа:

  1. Есть 1 модель соединения, которая соединяет tags с обоими posts и podcast_notes.

  2. Имеют 2 модели соединения - одну, которая соединяет tags с posts, и другую, которая соединяет tags с podcast_notes

Что будет считаться лучшей практикой в ​​этом случае?

Если передовым опытом является вариант 1 выше, как бы я go сделал это?

1 Ответ

3 голосов
/ 12 марта 2020

Одна модель соединения с полиморфной ассоциацией c - это способ, с помощью которого большинство помечающих камней решают эту проблему.

https://github.com/mbleigh/acts-as-taggable-on

https://github.com/pat/gutentag

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