Как бы я начал создавать полиморфные отношения has_and_belongs_to_many с Rails/ActiveRecord?Полиморфные отношения habtm с Rails/ActiveRecord
Большинство примеров я вижу, включает создание отношений belongs_to, которая ограничивает мою полиморфную сторону, чтобы быть связаны только с одним из родителей:
Таблица: Задача
Таблицы: Tasks_Targets
Таблица: CustomerStore
Таблица: SoftwareSystem
Оба CustomerStore и SoftwareSystem были бы ти pe «Целевое» в этом случае. Из того, что я понимаю, если я реализую полиморфные отношения, как показывает большинство примеров, я могу только связать Targetable с задачей после.
Некоторые разъяснения могут помочь как большинство поисков в Интернете по-прежнему оставить некоторые теории позади этой связи необъяснимого ...
Спасибо!
Это выглядит довольно хорошо! Моя единственная забота заключается в том, что я застрял, определяя каждую «целевую» в «Задачи». Есть ли способ обойти это? Как насчет Task.targets/targetables? –
Я проглотил это в течение большей части сегодняшнего дня, и я до сих пор не вполне доволен тем, что у меня есть ... Это проистекает из: «has_many: customer_stores,: through =>: task_targets,: source =>: targetable,: source_type => 'CustomerStore' has_many: software_systems,: through =>: task_targets,: source =>: targetable,: source_type => 'SoftwareSystem' " Который ко мне поражает цель полиморфных отношений. Есть ли способ настроить его, чтобы я мог получить все целевые объекты через Task.target AS WELL как возможность для Targetable.tasks? –