Я создаю приложение, которое принимает администратора и компанию в одной форме и соединяет их. Часть соединения настроена с отношением own_to (администратор принадлежит компании).
Проблема в том, что я использую Devise, и он автоматически берет все мои параметры и пытается создать пользователя. Дело в том, что в параметрах компания - это просто строка имени. Поэтому мне нужно создать компанию, а затем отправить (предположительно) company_id в Devise или настроить ее самостоятельно.
Это то, что я попробовал в Admin: RegistrationController.
def create
@company = Company.create(name: params[:admin][:company])
super
@admin.company = @company
end
Не удается создать администратора, и Devise возвращает ошибку «Компания должна существовать». И, очевидно, довольно хакерский (или, по крайней мере, так чувствует).
Что я должен делать здесь, и какова лучшая практика? Спасибо!