Обзор/Модели
Скажем, например, у вас есть довольно большая система с довольно общими моделями (в этом примере мы будем использовать три)
- Местоположение (общие поля адреса, тип, строка 1, строка 2, город и т. д.)
- Компании (общие поля компании, тип, название и т. д.)
- Контакты (общие поля контактов, тип, имя, должность и т. д.)
Пример (+ скриншот rails_admin)
Я обнаружил, что при создании подобных систем я всегда сталкиваюсь с одной и той же проблемой. Например, я нажимаю кнопку «Добавить» в компании (так что теперь я частично загрузил форму и т. Д.), Я частично добавляю компанию и обнаруживаю, что нужного мне местоположения нет в системе. Я хочу быстро открыть модальное окно, добавить местоположение, а затем обновить выбор через jquery или что-то в этом роде. Отлично, ничего сложного, и это было сделано в таких системах, как rails_admin (см. скриншот ниже):
http://www.server1-breakfrom.com/nestedaddexample.jpg
Это все хорошо, когда имеешь дело с одним уровнем вложенности, и, вообще говоря, все хорошо, когда имеешь дело с этим как с редкостью (поскольку можно запрограммировать способность как и когда). Тем не менее, я делаю систему, где это почти должно быть фреймворком само по себе, поскольку мне это нужно более чем в 50% моделей. Мне нужна возможность динамически добавлять различные параметры в модель/контроллер, а формы динамически генерировать соответствующие кнопки.
Дополнительные вопросы
- Модальные окна в модальных окнах или поверх них. При добавлении контакта вы нажимаете, чтобы добавить его компанию, в этой новой форме добавления компаний вы хотите добавить местоположение: бум, модальное поверх модального.
- Какой текст в jquery добавить к выбору. Вам нужно знать, как обновить элемент выбора и, возможно, найти все соответствующие элементы выбора на экране. При добавлении компании будет использоваться ее идентификатор и, возможно, имя, но для местоположения потребуется использовать идентификатор вместе с, возможно, строкой 1, строкой 2 и городом для текста.
- Проверка в модальном окне (но я предполагаю, что мы можем использовать какой-то jquery, так как мы уже очень зависим от него)
Расширение вопроса
Итак, в дополнение к вопросу: не усложняю ли я ситуацию и легко ли решить мою проблему (я должен подчеркнуть, что 3 модели являются чисто примерами, у меня есть много моделей, которые должны ссылаться, например, на компанию, это не просто контакт, так что «просто запрограммируй, как тебе нужно» не получится!).
Или я должен просто разобрать rails_admin и вытащить нужный мне бит? (Опять же, они не решили проблему многократного вложения, поэтому я чувствую, что лучше начать с нуля?).