Rails разрабатывает, когда пользовательская информация принадлежит Компании. - PullRequest
3 голосов
/ 03 января 2011

Я создал устройство для компаний.Я создал таблицу пользователей, хочу, чтобы я хотел сохранить пароль информации о пользователе и т. Д. Когда пользователь регистрируется, я хочу, чтобы он создал нового пользователя и ассоциацию с компанией.

Модель моей компании: has_one: User My User модель: Belongs_to: Компания

Как мне перезаписать контроллер регистрации?

С уважением, Начинающий Rails

1 Ответ

3 голосов
/ 31 августа 2011

Поправьте меня, если я здесь не прав, но похоже, что компании не будут входить в систему - только пользователи, принадлежащие компании.

Имея это в виду, вы должны иметь User в качестве модели Devise вместо Company. Тогда ваши ассоциации верны. Следующим шагом будет добавление полей для пользователя в форме для company#new с использованием вложенных атрибутов (fields_for в представлении; accepts_nested_attributes_for в модели).

Отвечая на исходный вопрос: вы можете использовать вложенные атрибуты для создания нового пользователя в форме регистрации. Вам не нужно переопределять контроллер регистрации Devise. Просто измените форму регистрации, чтобы включить fields_for пользователя. Также убедитесь, что модель Company имеет accepts_nested_attributes_for для модели User.

Небольшое отступление: я не знаю архитектуры вашего приложения, но кажется, что has_many будет более подходящим. В подобных случаях гораздо более вероятно, что вы захотите, чтобы несколько пользователей принадлежали одной компании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...