Gem 最近做 Omniauth+devise 碰到的一个问题

cqcn1991 · 2013年07月13日 · 1770 次阅读

之前用 devise+omniauth-twitter 这两个 gem 都没啥问题

不过前几天重新在做的时候,出了错误:

2013-07-13T09:06:49.096663+00:00 app[web.1]: Completed 422 Unprocessable Entityin 83ms 2013-07-13T09:06:49.099178+00:00 app[web.1]: 2013-07-13T09:06:49.099178+00:00 app[web.1]: ActiveRecord::RecordInvalid (Validation failed: Email can't be blank): 2013-07-13T09:06:49.099178+00:00 app[web.1]: app/models/user.rb:14:in from_omniauth' 2013-07-13T09:06:49.099178+00:00 app[web.1]: 2013-07-13T09:06:49.099178+00:00 app[web.1]: 2013-07-13T09:06:49.099178+00:00 app[web.1]: app/models/user.rb:20:inblock in from_omniauth' 2013-07-13T09:06:49.099178+00:00 app[web.1]: app/controllers/omniauth_callbacks_controller.rb:3:in `all'

大概的问题是,email validation 会出问题。(因为在 from_omniauth 这个方法里面,我并没有调用 email)

解决方法: http://stackoverflow.com/questions/17628871/email-validation-failed-when-using-omniauthtwitterdevise/17629140?noredirect=1#comment25667145_17629140

http://stackoverflow.com/questions/10226203/skip-email-validation-for-omniauth-twitter-on-devise-2-0?rq=1

不过很奇怪的是,这个问题之前都没有发生过(我问题下面的回答者也是这样的情况,在最近的 repo 里面才出现)。不知道到底是什么导致了之前没有碰到这个问题……

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号