繁体   English   中英

在Rails 4.1.4中将定制字段保存在devise用户模型中

[英]Saving custom fields in devise User model in Rails 4.1.4

我只是按照指南使用以下命令将列“ firstname”和“ secondname”添加到Devise用户模型中。

rails generate migration add_firstname_to_user firstname:string
rails generate migration add_secondname_to_user secondname:string

我将更改添加到:

rake db:migrate

它工作正常,因为我可以使用User.all通过控制台看到这些字段,但是现在的问题是我在app / model / user.rb中看不到attr_accessible字段。

所以我只添加了以下几行:

<div><%= f.label :first_name %><br />
  <%= f.text_field :firstname, autofocus: true %></div>

<div><%= f.label :second_name %><br />
  <%= f.text_field :secondname, autofocus: true %></div>

在app / views / devise / registrations中的new.html.erb中,但是它不起作用,因为我注意到firstname和secondname属性对我注册的用户无效。

我该怎么办?,我猜想是有关attr_accessible步骤的事,但是找不到。

任何帮助将不胜感激。

对于自定义字段“名字”和“名字”,您可以通过在应用程序控制器中添加以下代码来使其可访问

class ApplicationController < ActionController::Base
  before_filter :configure_permitted_parameters, if: :devise_controller?

  protected

  def configure_permitted_parameters
     devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :email, :firstname, :secondname) }
     devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email, :password, :password_confirmation, :firstname, :secondname) }
     devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:username, :email, :password, :password_confirmation, :current_password, :firstname, :secondname) }
  end
end

您可以在此处添加更多自定义字段并允许它们,根据需要相应地更改代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM