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