私はこれに数時間を費やしたので、ここにいます。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 " users"."id" ASC LIMIT 1
この問題は、Twitter ではなく Facebook のログインを使用していることを除いて、この他のスタックオーバーフローの問題に非常に近いものです。トップアンサーのトップコメントを参照してください:
Devise、Omniauth、Facebook の統合セッション エラー
アドバイスしてください、ありがとう!
ルート: devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks", :registrations => "registrations" } do
get "info/contact" get "info/about" get "info/landing" get "info/test" get '/users/sign_out' => 'devise/sessions#destroy'
ルート "info#landing" 終了
リソース :events do リソース :registrations end end
宝石ファイル:
gem 'zurb-foundation'
gem「デバイス」
gem 'omniauth-twitter'
gem「オムニアート」
宝石「oauth2」