ruby-on-rails - 设计 - 如何更改设置以便电子邮件地址不需要是唯一的

标签 ruby-on-rails ruby ruby-on-rails-3 devise

我将 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/

相关文章:

ruby-on-rails - RSpec 中单个设置的多个断言

ruby - 通过替换整个 gem 来重新发布 RubyGems 上的 gem?

ruby - 使用 Ruby : select an option from drop-down list 进行自动化测试

ruby - 如何获取 : and string? 之间的文本

ruby-on-rails - Rails + ActiveRecord + Postgres : How to match case insensitive substring?

javascript - 过滤多选框后如何保留 optgroup 标签?

ruby-on-rails - ActiveRecord,has_many :through,与STI的多态关联

ruby-on-rails - 防止删除 has_many 集合中的最后一条记录的最佳方法是什么?

ruby-on-rails - 超时::错误:Capistrano/Rubber 执行已过期

jquery - 在 ruby​​ on rails 中进行 ajax 调用时,什么时候使用数据属性是不好的做法?