我把头“撞”在墙上,试图弄清楚这一点。我决定允许用户通过 twitter、Google、我的网站或 Facebook 登录。问题是 twitter 不提供电子邮件,所以我试图通过用户名添加用户。问题是设计不断检查电子邮件,当我不需要它时,我得到 PG::Error: 错误:重复键值违反唯一约束“index_users_on_email”详细信息:键(电子邮件)=()已经存在。: INSERT INTO "users" ("created_at", "name", "provider", "uid", "updated_at", "username") 值 ($1, $2, $3, $4, $5, $6) 返回 "id"。
我不知道我应该怎么做。我在数据库中创建了一个用户名列,并确保将其添加到我的 devise.rb 初始化程序中,config.authentication_keys = [ :username ]