Это первый раз, когда я моделирую иерархию в рамках одной и той же модели (категории продуктов).
Я нашел отличный сообщение по этой теме. Поскольку я использую Rails 4 и Postgres, которые, согласно статье, поддерживают рекурсивные запросы (это первый раз, когда я слышу этот термин), кажется, что «список смежности с рекурсивным запросом» — это то, что нужно, потому что его легко моделировать и быстро на запрос.
В статье предлагается гем acts_as_sane_tree, поддерживающий рекурсивные запросы. Этот репозиторий не обновлялся два года, и я не уверен, поддерживает ли он Rails 4. Проект является ответвлением acts_as_tree", который поддерживает Rails 4 и хорошо поддерживается.
Какой драгоценный камень я должен использовать? И поддерживает ли гем acts_as_tree рекурсивные запросы, чтобы избежать дорогостоящих запросов?