【发布时间】:2017-08-14 14:59:56
【问题描述】:
我想使用“用户名”字段而不是“电子邮件”
我用过宝石
gem 'devise'
gem 'devise_token_auth'
我的模型“用户”
devise :database_authenticatable,
:trackable, :registerable, :authentication_keys => [:username]
include DeviseTokenAuth::Concerns::User
has_many :projects
def email_required?
false
end
def email_changed?
false
end
我删除了“可验证”
并尝试改变模型
change_column :users, :email, :string, :null => true
remove_index :users, :email
我也设置了配置 device.rb
config.authentication_keys = [:username]
config.case_insensitive_keys = [:username]
config.strip_whitespace_keys = [:username]
但我还是有错误
"Email can't be blank",
"Email is not an email"
我做错了什么?谢谢你
【问题讨论】:
-
您是否尝试运行迁移?见this,可能会有帮助
标签: ruby-on-rails ruby devise