我设置Devise使用用户名而不是电子邮件地址登录,因为我们有相当多的用户与他们的配偶共享相同的电子邮件地址。这是我们服务的一个独特的市场。但每一位配偶都需要单独的账户来记录个性测试结果。
数据库不再需要唯一的电子邮件地址,因此它将为两个帐户接受相同的电子邮件addy。然而,Devise仍然要求每个帐户都有一个唯一的电子邮件地址。有没有我可以用来改变这一点的设置或变通方法?
发布于 2011-08-18 03:08:16
在config/initializers/devise.rb
中查找。您可以将默认身份验证密钥(默认情况下为:email
)更改为您想要的任何密钥,例如:
config.authentication_keys = [ :username ]
发布于 2013-05-22 18:31:28
=用户模型
def email_required?
false
end
def email_changed?
false
end
# For ActiveRecord 5.1+
def will_save_change_to_email?
false
end
=迁移
rails g migration update_index_on_users
def up
sql = 'DROP INDEX index_users_on_email'
sql << ' ON users' if Rails.env == 'production' # Heroku pg
ActiveRecord::Base.connection.execute(sql)
end
发布于 2011-08-18 04:21:48
请查找说明here
https://stackoverflow.com/questions/7097921
复制相似问题