У меня есть приложение, в котором есть таблица Projects и таблица Users. В моей форме Создать новый проект у меня есть обязательное поле для менеджера проекта. Тем не менее, запись пользователя для Project Manager может еще не существовать. Менеджер проекта - обязательное поле.
До сих пор я разрабатывал приложение на основе «один экран, одна запись», но в этом сценарии пользователь сначала должен создать запись пользователя (поскольку Project Manager является обязательным полем), а затем создать проект. запишите и назначьте нового пользователя в качестве менеджера проекта.
Интуитивно, пользователь ожидает, что проект будет создан сначала , но для этого потребуется три шага (создание проекта, создание пользователя, назначение пользователя в качестве менеджера проекта), и они должны быть заблокированы вместе , поскольку Project Manager является обязательным полем, и приложение все равно должно быть достаточно умным, чтобы использовать существующую запись пользователя, если она доступна.
Какую стратегию вы бы использовали? Вы бы поместили все в одну форму (включая необязательного нового пользователя) и добавили сложный ViewModel в метод контроллера, или вы использовали бы многоступенчатую стратегию формы, или вы бы сделали что-то еще? Я рассматривал такие вещи, как всплывающая форма «Новый пользователь» в форме «Новый проект», но это кажется слишком умным и недостаточно RESTful.