添加名字和姓氏以设计注册表单

Tai*_*orQ 5 devise ruby-on-rails-4

我正在使用 Rails 4,我正在尝试将名字姓氏字段添加到注册过程中。我正在使用设计来处理身份验证。

我已经通过迁移将 first_name 和 last_name 列添加到我的用户模型中。我还在 application_controller.rb 文件中添加了以下内容:

before_filter :configure_permitted_parameters, if: :devise_controller?

protected

def configure_permitted_parameters
  devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:first_name, :last_name, :email, :password, :password_confirmation, :remember_me) }
  devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:email, :password, :remember_me) }
  devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:first_name, :last_name, :email, :password, :password_confirmation, :current_password) }
end
Run Code Online (Sandbox Code Playgroud)

但是,当我注册时, first_name 和 last_name 字段可以留空,即使填充它们,这些值也不会保存到用户对象中。

我怎样才能:

  1. 在注册时强制要求这些字段?我尝试将 'validates_presence_of :first_name, :last_name, :email' 添加到用户模型中,但由于某种原因表单总是认为 first_name 和 last_name 字段为空,因此不得不将其删除。
  2. 更新设计创建操作,以便保存通过设计/注册/new.html.erb 文件传入的值?
  3. 我有一个想要与该用户关联的 Person 模型(关联已成功创建,我有编辑人员和用户字段的表单,但不确定如何将其构建到设计注册过程中。

任何帮助,将不胜感激。

Don*_*van 4

设计 wiki 中对此进行了介绍

https://github.com/plataformatec/devise/wiki/How-To:-允许用户使用其他邮件地址登录

  • 奇怪的是你选择了这个答案作为正确的答案。最初的问题是关于向 Devise 注册表单添加两个附加字段。这个答案是关于允许用户使用用户名(而不是电子邮件)登录。Jonas ^ 的评论提供了一个准确回答问题的链接。 (5认同)