我将 Devise 设置为使用用户名而不是电子邮件地址登录,因为我们的大量用户与其配偶共享相同的电子邮件地址。这是我们服务的独特市场。但是每个配偶都需要单独的账户来记录性格仪器的结果。
数据库不再需要唯一的电子邮件地址,因此它将接受两个帐户的相同电子邮件地址。但是,Devise 仍然要求每个帐户都有一个唯一的电子邮件地址。是否有我可以用来更改此设置的设置或解决方法?
最佳答案
=用户模型
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
关于ruby-on-rails - 设计 - 如何更改设置以便电子邮件地址不需要是唯一的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7097921/