Как сохранить эталонный объект, из которого я хочу клонировать? Использовать синглтон? - PullRequest
0 голосов
/ 14 декабря 2009

Положение:

  • Существует ресурс проекта, который имеет много ресурсов A, каждый из которых имеет много ресурсов B
  • Когда создается новый проект, он уже должен начинаться с клонов ресурсов A, имеющих клоны ресурсов B
  • Должен быть эталонный проект, ресурсы которого A и B (через A) клонированы с
  • Клонирование выполнено, потому что таким образом новые Проекты могут обновлять свои ресурсы A и B, не изменяя Базовый проект, и наоборот

Вопрос:

  • Как реализовать это в Rails?

Идеи:

  • Реализация одноэлементного класса '' ReferenceProject
  • Но STI перестарался бы только для одного объекта?
Введите новый столбец "is_reference_project" в проект
  • Но как сделать так, чтобы был только один?

Спасибо за любой вклад! duddle

1 Ответ

0 голосов
/ 15 декабря 2009

Я сейчас делаю это так:

  • Добавление в Project столбца с именем is_reference (: boolean)
  • Проверка на уровне модели, что есть только один в соответствии с:
  • Добавление named_scopes для модели проекта
  • Добавление контроллера ReferenceProjects, работающего на named_scope
...