如何在Rails Devise中的sign_up表单中添加字段,而不是User模型?

时间:2016-10-04 22:25:52

标签: ruby-on-rails devise

如果字段也是User模型的新属性,那么如何在Rails 4中向sign_up表单添加字段有几个答案。但是如何在sign_up表单中添加一个不属于User模型的字段?在我的具体示例中,我想在注册表单中添加一个公司名称字段,然后在创建用户模型之前将其用于创建公司模型。我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

感谢您的回复。

答案就像运行以下内容一样简单,以生成设计控制器:

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