如何添加用户名字段来设计 gem? [英] How to add username field to devise gem?
问题描述
这是我试过的,
rails g 迁移 add_username_to_hrs
bundle exec rake db:migrate
添加了attr_accessible:username
重启服务器
我的 add_username_to_hr.rb
class AddUsernameToAuthorize < ActiveRecord::Migration
def change
add_column :authorizes, :username, :string
end
end
错误
未定义的方法`username' for #
undefined method `username' for #
问题:如何在我的设计 gem 中添加用户名字段?
Question: How can I add a username field in my devise gem?
推荐答案
答案现已过时 [ 适用于 rails4 ]
我也是这样做的.请按照以下步骤操作:
I have done the same. Please follow these steps:
rails 生成迁移 add_username_to_users username:string:uniq
rake db:migrate
添加 attr_accessible :username
在 application_controller.rb 中:
in application_controller.rb:
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email, :password, :password_confirmation, :remember_me) }
devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:login, :username, :email, :password, :remember_me) }
devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:username, :email, :password, :password_confirmation, :current_password) }
end
在 config/initializers 如果你想用 usernname
config.authentication_keys = [ :username ]
config.case_insensitive_keys = [ :username ]
config.strip_whitespace_keys = [ :username ]
更新视图.
update the views.
注意如果 attr_accessible :username
出现错误,请尝试 attr_accessor :username
Note if attr_accessible :username
gives error try attr_accessor :username
这篇关于如何添加用户名字段来设计 gem?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!