2013-12-12 55 views
3

我正在使用Rails 4,我试图添加名字姓氏字段的注册过程。我正在使用Devise来处理认证。添加名字和姓氏来设计注册表格

我已经通过迁移将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 

然而,当我注册时,如first_name和last_name字段可以留为空白,甚至被填充时,他们​​的价值观不保存用户对象。

如何我:

  1. 力这些字段注册时需要?我试图向用户模型中添加'validates_presence_of:first_name,:last_name,:email',但不得不删除它,因为表单出于某种原因始终认为first_name和last_name字段为空。
  2. 更新设计创建操作,以便它保存通过设计/ registrations/new.html.erb文件传入的值?
  3. 我有我想要与该用户相关联(协会创建成功,我有一个编辑两个人和用户领域,但不知道如何构建成色器件注册过程中形成一个Person模型。

任何帮助,将不胜感激

回答

3
+0

谢谢,但引用attr_accessible如此,这并不似乎是一个轨道4书面记录。你知道这是否Rails4? – TaimoorQ

+0

我认为它足够通用,您应该能够推测出rails 4所需的更改。真的,只需将attr_accessible移动到控制器中的params.permit调用中,对不对? – Donovan