Rails Multi наследование на уровне базы данных

Я хотел бы реализовать что-то вроде многотабличного наследования для моего приложения rails. Я знаком с тем, как работает STI, и мне было интересно, будет ли реализация похожей.

Моя ситуация выглядит следующим образом (имена таблиц были изменены):

У меня есть таблица Employee, а у Employee много уборщиков и программистов. У дворников и программистов есть много разных типов рабочей утвари, поэтому таблица для хранения подойдет для уборщика, а таблица для техников подойдет для программиста. Ну, задания могут быть бесконечными, а атрибуты заданий (уборщики, программисты и т. Д.) Разные, поэтому они должны быть отдельными таблицами. Я хочу объединить таблицу под названием "Работа", которая принадлежит "Сотруднику". Эта таблица Jobs будет иметь тип job_type (здесь он может быть либо уборщиком, либо программистом) и utensil_type (custodial, tech). Как я могу правильно реализовать то, что этот сценарий пытается достичь?

Я знаю, насколько важен тип для STI, поэтому я хочу знать, как я могу реализовать этот MTI для моей проблемы с рельсами?

1 ответ

Возможно, ActiveRecord::ActsAs gem подойдет вашим потребностям https://github.com/hzamani/active_record-acts_as