[英]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.