簡體   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