Как добавить поле в форму sign_up в Rails Devise, но не в модель пользователя?

Существует несколько ответов о том, как добавить поле в форму sign_up в Rails 4, Если поле также является новым свойством модели пользователя. Но как добавить поле в форму sign_up, которое не является частью модели пользователя? В моем конкретном примере я хотел бы добавить поле Название компании в форме Регистрация, которое затем будет использоваться для создания модели компании до создания модели пользователя. Как бы я это сделал?

1 ответ

  1. Спасибо вам обоим за ответ.

    Ответ был так же прост, как выполнение следующего для создания контроллеров devise:

    rails generate devise:controllers users
    

    Затем обновление маршрута:

    devise_for :users, controllers: { registrations: 'users/registrations' }
    

    Добавление form_tag в форму:

    <%= text_field_tag("company_name", nil, {class: 'form-control'}) %>
    

    Затем обновление метода в контроллере регистрации для создания компании:

    # POST /resource
    def create
    super do |resource|
      company_name = params[:company_name]
      company = Company.new({name: company_name})
      company.save!
    end
    

    конец