Требует ли эта форма от пользователя ввода данных, которые не хранятся постоянно в базе данных?Если это так, то вы должны создать новую модель, полученную из CFormModel, а не ActiveRecord.Ваш контроллер сайта может обрабатывать запуск представлений CFormModel, которые затем заботятся о себе (валидация, ajax и т. Д.), Если им не требуется динамическое взаимодействие с сервером (LoginForm), или они могут иметь отдельный контроллер, если более сложное взаимодействиенеобходимо (RegisterForm).В CFormModel вы можете получить доступ к пользовательскому вводу во время сеанса и обработать / сохранить его так, как вам нравится, но затем он исчезнет, когда пользователь завершит работу.См. LoginForm и RegisterForm для демонстрации блога, в качестве примеров шаблонов.Имеет ли эта форма такое же динамическое взаимодействие данных с другими моделями, как и с пользователем (не только одноразовое каскадирование отношений)?В этом случае может быть лучше создать тот отдельный RegisterController, который вы упомянули.Это то, что делает демонстрация блога, и это довольно простое приложение.Вы можете использовать gii для автоматического создания интерфейса CRUD для администраторов и модераторов / менеджеров сообщества из вашей модели User.Затем вы можете настроить его и сделать его частичным всякий раз, когда вы захотите повторно использовать одно из этих представлений для пользователя без прав администратора.Правила валидации в моделях тоже переносятся.Только гости и пользователи с обычными привилегиями нуждаются в неработающем интерфейсе LoginForm и RegisterForm.