我在这上面花了几个小时,所以我在这里。从 Ryans Railscast 开始,我决定将 twitter 登录添加到我的 rails / devise 应用程序中。我关注了一段时间,遇到了问题并解决了各种问题,直到我到达这里:单击“使用 twitter 登录”时,我被重定向到那里,返回后,我收到以下问题:
ActiveRecord::StatementInvalid in Users::OmniauthCallbacksController#twitter
SQLite3::SQLException: 没有这样的列:users.provider: SELECT "users".* FROM "users" WHERE "users"."provider" = 'twitter' AND "users"."uid" = '20323034' ORDER BY"用户"."id" ASC 限制 1
这个问题与其他 stackoverflow 问题非常接近,除了他们使用的是 facebook 登录而不是 twitter。请参阅最佳答案的最佳评论:
请指教,谢谢!
路线:devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks", :registrations => "registrations" } 做
获取“信息/联系人”获取“信息/关于”获取“信息/登陆”获取“信息/测试”获取“/users/sign_out”=>“设计/会话#destroy”
根“信息#登陆”结束
资源:事件做资源:注册结束结束
宝石文件:
宝石'zurb-基础'
宝石“设计”
宝石'omniauth-twitter'
宝石'omniauth'
宝石'oauth2'