У меня есть модель в Rails, которую я хотел бы использовать в качестве основы для другого.клонирование модели в Rails
пример модели: род. будет шаблон для модели ребенок. Я вижу два возможных варианта:
(1) Наследовать от первой модели, а затем добавить дополнительные столбцы
Class Parent < ActiveRecord::Base
Class Child < Parent
(2) Скопировать файл model.rb и добавить новые функции
Class Child < ActiveRecord::Base
В обоих случаях создается «Rails» часть модели, но как насчет таблицы базы данных? Я мог бы создать таблицу, используя создать дочерний элемент таблицы, как выбрать * из родителя, где 1 = 2, а затем создать миграции для добавления дополнительных столбцов, но это не похоже на «Rails way».
Есть ли простой способ создания миграции на основе существующей таблицы. или я полностью лаяю неправильное дерево?
я вижу. А как насчет второго экземпляра, где я хочу скопировать, но не наследовать. Мне все еще нужно создать таблицу вручную? – ardochhigh
Да, в этом случае вам нужна отдельная таблица для детей, но дублирующий код мне не подходит. – Mischa
@ardichhigh Если вы хотите, чтобы две разные модели делились некоторой логикой, вы можете извлечь ее в модуль. –