【发布时间】:2014-07-23 06:46:37
【问题描述】:
您好,在我的 rails 应用程序中,我使用的是 devise 和omniauth。每当我同时使用 twitter、facebook 和 linkedin 身份验证时,我都会遇到一些奇怪的问题,任何一个都可以正常工作,另一个会出现这个错误
SQLite3::ConstraintException: UNIQUE constraint failed: users.email: INSERT INTO "users" ("created_at", "provider", "uid", "updated_at") VALUES (?, ?, ?, ?)
在用户 mdoel 中
def self.from_omniauth(auth)
where(auth.slice(:provider, :uid)).first_or_create do |user|
user.provider =auth.provider
user.uid=auth.uid
end
end
如果这样意味着linkedin正常工作并且
def self.from_omniauth(auth)
where(auth.slice(:provider, :uid)).first_or_create do |user|
user.provider =auth.provider
user.uid=auth.uid
user.email=auth.info.email
end
end
如果这样意味着 twitter 正在运行,否则都会出现相同的错误,我该怎么办?
【问题讨论】:
标签: ruby-on-rails devise omniauth