Я создаю Ruby On Rails API, который помогает управлять строительной документацией - существует ряд различных типов документов, каждый из которых имеет разные поля, поэтому в настоящее время у меня есть модель для каждого.
Однако я также хотел бы иметь возможность ссылаться на эти документы в целом, поскольку каждый документ может иметь произвольное количество связанных документов, которые могут относиться к любому типу документа. Я бы хотел написать что-нибудь вроде
class Drawing < ApplicationRecord
...
has_many :associated_documents
Все, что мне нужно, это имя, идентификатор и тип связанных документов (по сути, чтобы можно было легко перемещаться между связанными документами в интерфейсе)
Это вариант использования наследования одной таблицы? Есть ли способ сделать это с помощью полиморфных ассоциаций? Поскольку интерфейсный вариант использования представляет собой список ссылок, следует ли мне просто хранить ссылки?
Drawing
примерDocument
? Если да, то какие еще есть документы? Всегда ли ассоциации 1: M? Или они когда-нибудь M: M? - person jvillian   schedule 23.08.2018Rendering
Sketch
иShopDrawing
. Всегда много ко многим - данныйDrawing
(или любой другой тип документа) имеет много связанных документов и, следовательно, может быть связан другим способом со многими другими документами. - person Aaron Cohen   schedule 23.08.2018