Создание и управление пользователями и профилями в Rails

Я знаю, что есть несколько тем, касающихся этой темы, и, прочитав их, я до сих пор не могу найти лучший подход к моей ситуации. У меня есть модель Users, и я использую Devise для аутентификации. Я использую довольно много модулей Devise, которые добавили около 20 столбцов в модель моих пользователей. Я собираюсь добавить отдельную модель профиля, которая будет содержать около 18 столбцов.

Проблема в том, что после регистрации модуль Devise Confirmable перенаправляет его на страницу HOME и отправляет ссылку подтверждения на его электронную почту. Как только он подтвердит, что он попадает на страницу «Показать пользователя», которая должна отображать информацию о его профиле.

Я хочу, чтобы Пользователь заполнял информацию о своем профиле, прежде чем он сможет что-либо сделать на сайте. Все поля профиля (около 18 из них) являются обязательными и критичными с точки зрения авторизации и диктуют, что он может и чего не может сделать. Я не уверен, как это сделать?

1) Должен ли я просто иметь модель пользователя (это будет означать 40 столбцов в таблице Users) и создать многоэтапную форму?
2) Должен ли я иметь модель пользователя и модель профиля?
3) Если да, как я могу заставить пользователя заполнить его информацию о профиле до того, как он подтвердит свою учетную запись или сразу после?
4) Нужен ли мне контроллер профилей? Я не знаю, с чего начать!

На самом деле это очень просто. У вас могут быть разные модели для пользователя и профиля. У вас должен быть механизм для отметки, если пользователь заполнил его информацию о профиле (что-то вроде  `user.profile.nil?` ). Теперь вам просто нужно создать метод перед фильтром, который перенаправит пользователя для создания страницы профиля, если у него его нет.