如何添加用户名字段来设计 gem? [英] How to add username field to devise gem?

查看:22
本文介绍了如何添加用户名字段来设计 gem?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我试过的,

  1. 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:

  1. 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 :usernamegives error try attr_accessor :username

    这篇关于如何添加用户名字段来设计 gem?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆