ruby-on-rails - Rails Gem Devise 是否有允许用户拥有多封电子邮件的解决方案?

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

我正在寻找一种解决方案,允许我的应用程序上的用户拥有超过 1 封电子邮件。这应该类似于 Facebook、LinkedIn 和 Quora。一个帐户可以有多个电子邮件,其中 1 个作为主要电子邮件。

是否有设计可用的交 key 解决方案?鉴于它是如此常见,我希望不必从头开始编写它。

想法?谢谢

最佳答案

嗯...我会建议创建新模型,你会做这样的事情:

例如模型是 UserEmail .

class UserEmail < ActiveRecord::Base
    belongs_to :user
end

class User < ActiveRecord::Base
    has_many :user_emails
end

并覆盖设计的方法以在 User 中查找记录模型:
def self.find_first_by_auth_conditions(warden_conditions)
  conditions = warden_conditions.dup
  if email = conditions.delete(:email)
    User.includes(:user_emails).where('user_emails.email = ?', email).first
  else
    super(warden_conditions)
  end

在此处阅读有关覆盖的更多信息:https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-sign-in-using-their-username-or-email-address

关于ruby-on-rails - Rails Gem Devise 是否有允许用户拥有多封电子邮件的解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16285077/

相关文章:

ruby-on-rails - 哪些工具可用于自动格式化 Ruby/Rails 代码

Ubuntu:乘客找不到用于 curl 的 SSL

ruby-on-rails-3 - 嵌套路由的命名参数

ruby-on-rails - 搜索如何使用 rails3 设置 mongo_mapper、设计、haml 的指南

javascript - 在 rails 4 上设计处理失败的 ajax 登录

ruby-on-rails - 将 Bootstrap 类添加到 rails 表单 time_select 字段

ruby-on-rails - 处理 Rails 3 中的未知操作

ruby-on-rails - 在 Rails 中使用插入查询遍历大数据的最佳方法是什么

ruby-on-rails - Rails - 使用 devise_token_auth 设计不发送确认电子邮件

python - 在 ruby​​ 中使用其他语言